browser.readingList

Description

Utilisez l'API chrome.readingList pour lire et modifier les éléments de la liste de lecture.

Autorisations

readingList

Pour utiliser l'API Reading List, ajoutez l'autorisation "readingList" dans le fichier manifest de l'extension :

manifest.json:

{
  "name": "My reading list extension",
  ...
  "permissions": [
    "readingList"
  ]
}

Disponibilité

Navigateur Chrome 120+ * depuis Chrome 148 MV3+

Chrome propose une liste de lecture située dans le panneau latéral. Elle permet aux utilisateurs d'enregistrer des pages Web pour les lire plus tard ou hors connexion. Utilisez l'API Reading List pour récupérer les éléments existants, et en ajouter ou en supprimer de la liste.

Liste de lecture affichant plusieurs articles
Liste de lecture affichant un certain nombre d'articles

Concepts et utilisation

Ordre des éléments

Les éléments de la liste de lecture ne sont pas classés dans un ordre garanti.

Unicité des éléments

Les éléments sont identifiés par une URL. Cela inclut le hachage et la chaîne de requête.

Cas d'utilisation

Les sections suivantes présentent des cas d'utilisation courants de l'API Reading List. Consultez la section Exemples d'extensions pour obtenir des exemples complets d'extensions.

Ajouter un élément

Pour ajouter un élément à la liste de lecture, utilisez browser.readingList.addEntry() :

browser.readingList.addEntry({
  title: "New to the web platform in September | web.dev",
  url: "https://developer.chrome.com/",
  hasBeenRead: false
});

Afficher les éléments

Pour afficher les éléments de la liste de lecture, utilisez la méthode browser.readingList.query() pour les récupérer.

const items = await browser.readingList.query({});

for (const item of items) {
  // Do something do display the item
}

Marquer un élément comme lu

Vous pouvez utiliser browser.readingList.updateEntry() pour modifier le titre, l'URL et l'état de lecture. Le code suivant marque un élément comme lu :

browser.readingList.updateEntry({
  url: "https://developer.chrome.com/",
  hasBeenRead: true
});

Supprimer un élément

Pour supprimer un élément, utilisez browser.readingList.removeEntry() :

browser.readingList.removeEntry({
  url: "https://developer.chrome.com/"
});

Exemples d'extensions

Pour découvrir d'autres démonstrations d'extensions de l'API Reading List, consultez l'exemple d'API Reading List.

Types

AddEntryOptions

Propriétés

  • hasBeenRead

    booléen

    La valeur est true si l'entrée a été lue.

  • titre

    chaîne

    Titre de l'entrée.

  • url

    chaîne

    URL de l'entrée.

QueryInfo

Propriétés

  • hasBeenRead

    boolean facultatif

    Indique si vous souhaitez rechercher des éléments lus (true) ou non lus (false).

  • titre

    chaîne facultatif

    Titre à rechercher.

  • url

    chaîne facultatif

    URL à rechercher.

ReadingListEntry

Propriétés

  • creationTime

    nombre

    Heure de création de l'entrée. Enregistré en millisecondes depuis le 1er janvier 1970.

  • hasBeenRead

    booléen

    La valeur est true si l'entrée a été lue.

  • lastUpdateTime

    nombre

    Dernière mise à jour de l'entrée. Cette valeur est exprimée en millisecondes depuis le 1er janvier 1970.

  • titre

    chaîne

    Titre de l'entrée.

  • url

    chaîne

    URL de l'entrée.

RemoveOptions

Propriétés

  • url

    chaîne

    URL à supprimer.

UpdateEntryOptions

Propriétés

  • hasBeenRead

    boolean facultatif

    État de lecture mis à jour. L'état existant est conservé si aucune valeur n'est fournie.

  • titre

    chaîne facultatif

    Nouveau titre. La tuile existante est conservée si aucune valeur n'est fournie.

  • url

    chaîne

    URL qui sera mise à jour.

Méthodes

addEntry()

browser.readingList.addEntry(
  entry: AddEntryOptions,
)
: Promise<void>

Ajoute une entrée à la liste de lecture si elle n'existe pas.

Paramètres

Renvoie

  • Promise<void>

    Se résout une fois l'entrée ajoutée.

query()

browser.readingList.query(
  info: QueryInfo,
)
: Promise<ReadingListEntry[]>

Récupère toutes les entrées correspondant aux propriétés QueryInfo. Les établissements non fournis ne seront pas mis en correspondance.

Paramètres

Renvoie

  • Promise<ReadingListEntry[]>

    Se résout une fois que les entrées ont été mises en correspondance.

removeEntry()

browser.readingList.removeEntry(
  info: RemoveOptions,
)
: Promise<void>

Supprime une entrée de la liste de lecture si elle existe.

Paramètres

  • Entrée à supprimer de la liste de lecture.

Renvoie

  • Promise<void>

    Se résout une fois l'entrée supprimée.

updateEntry()

browser.readingList.updateEntry(
  info: UpdateEntryOptions,
)
: Promise<void>

Met à jour une entrée de liste de lecture si elle existe.

Paramètres

Renvoie

  • Promise<void>

    Se résout une fois que les entrées correspondantes ont été mises à jour.

Événements

onEntryAdded

browser.readingList.onEntryAdded.addListener(
  callback: function,
)

Déclenché lorsqu'un ReadingListEntry est ajouté à la liste de lecture.

Paramètres

onEntryRemoved

browser.readingList.onEntryRemoved.addListener(
  callback: function,
)

Déclenché lorsqu'un ReadingListEntry est supprimé de la liste de lecture.

Paramètres

onEntryUpdated

browser.readingList.onEntryUpdated.addListener(
  callback: function,
)

Déclenché lorsqu'un ReadingListEntry est mis à jour dans la liste de lecture.

Paramètres