browser.readingList

Descripción

Usa la API de chrome.readingList para leer y modificar los elementos de la lista de lectura.

Permisos

readingList

Para usar la API de Reading List, agrega el permiso "readingList" en el archivo manifiesto de la extensión:

manifest.json:

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

Disponibilidad

Chrome 120 y versiones posteriores browser.* desde Chrome 148 MV3 y versiones posteriores

Chrome cuenta con una lista de lectura ubicada en el panel lateral. Permite que los usuarios guarden páginas web para leerlas más tarde o cuando estén sin conexión. Usa la API de Reading List para recuperar elementos existentes y agregar o quitar elementos de la lista.

Lista de lectura con varios artículos
Lista de lectura que muestra una cantidad de artículos

Conceptos y uso

Orden de los elementos

Los elementos de la lista de lectura no están en ningún orden garantizado.

Unicidad de los elementos

Los elementos se identifican por URL. Esto incluye el hash y la cadena de consulta.

Casos de uso

En las siguientes secciones, se muestran algunos casos de uso comunes de la API de Reading List. Consulta Muestras de extensiones para ver ejemplos completos de extensiones.

Agregar un elemento

Para agregar un elemento a la lista de lectura, usa browser.readingList.addEntry():

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

Mostrar elementos

Para mostrar elementos de la lista de lectura, usa el método browser.readingList.query() para recuperarlos.

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

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

Cómo marcar un elemento como leído

Puedes usar browser.readingList.updateEntry() para actualizar el título, la URL y el estado de lectura. El siguiente código marca un elemento como leído:

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

Cómo quitar un elemento

Para quitar un elemento, usa browser.readingList.removeEntry():

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

Muestras de extensiones

Para ver más demostraciones de extensiones de la API de Reading List, consulta la muestra de la API de Reading List.

Tipos

AddEntryOptions

Propiedades

  • hasBeenRead

    booleano

    Será true si se leyó la entrada.

  • título

    string

    Es el título de la entrada.

  • url

    string

    Es la URL de la entrada.

QueryInfo

Propiedades

  • hasBeenRead

    booleano opcional

    Indica si se deben buscar elementos leídos (true) o no leídos (false).

  • título

    string opcional

    Es el título que se buscará.

  • url

    string opcional

    Es una URL que se debe buscar.

ReadingListEntry

Propiedades

  • creationTime

    número

    Es la hora en la que se creó la entrada. Se registra en milisegundos desde el 1 de enero de 1970.

  • hasBeenRead

    booleano

    Será true si se leyó la entrada.

  • lastUpdateTime

    número

    La última vez que se actualizó la entrada. Este valor se expresa en milisegundos desde el 1 de enero de 1970.

  • título

    string

    Es el título de la entrada.

  • url

    string

    Es la URL de la entrada.

RemoveOptions

Propiedades

  • url

    string

    Es la URL que se quitará.

UpdateEntryOptions

Propiedades

  • hasBeenRead

    booleano opcional

    El estado de lectura actualizado. Si no se proporciona un valor, se mantiene el estado existente.

  • título

    string opcional

    Es el título nuevo. La tarjeta existente permanece si no se proporciona un valor.

  • url

    string

    Es la URL que se actualizará.

Métodos

addEntry()

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

Agrega una entrada a la lista de lectura si no existe.

Parámetros

  • Es la entrada que se agregará a la lista de lectura.

Muestra

  • Promise<void>

    Se resuelve una vez que se agrega la entrada.

query()

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

Recupera todas las entradas que coinciden con las propiedades de QueryInfo. No se vincularán las propiedades que no se proporcionen.

Parámetros

  • información

    Son las propiedades que se buscarán.

Muestra

  • Promise<ReadingListEntry[]>

    Se resuelve una vez que se encuentran coincidencias para las entradas.

removeEntry()

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

Quita una entrada de la lista de lectura si existe.

Parámetros

  • información

    Es la entrada que se quitará de la lista de lectura.

Muestra

  • Promise<void>

    Se resuelve una vez que se quita la entrada.

updateEntry()

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

Actualiza una entrada de la lista de lectura si existe.

Parámetros

Muestra

  • Promise<void>

    Se resuelve una vez que se actualizan las entradas que coinciden.

Eventos

onEntryAdded

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

Se activa cuando se agrega un ReadingListEntry a la lista de lectura.

Parámetros

onEntryRemoved

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

Se activa cuando se quita un ReadingListEntry de la lista de lectura.

Parámetros

onEntryUpdated

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

Se activa cuando se actualiza un ReadingListEntry en la lista de lectura.

Parámetros