chrome.readingList

Descripción

Usa la API de chrome.readingList para leer los elementos de la Lista de lectura y modificarlos.

Permisos

readingList

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

manifest.json:

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

Disponibilidad

Chrome 120 y versiones posteriores MV3+ .

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

Lista de lectura en la que se muestran varios artículos
Lista de lectura en la que se muestran varios artículos
.

Conceptos y uso

Orden de los artículos

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

Unicidad del elemento

Los elementos usan claves 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 para la API de Reading List. Consulta los ejemplos de extensiones para ver ejemplos completos de extensiones.

Cómo agregar un elemento

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

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

Elementos visibles

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

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

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

Cómo marcar un elemento como leído

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

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

Cómo quitar un elemento

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

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

Muestras de extensiones

Para ver más demostraciones de las extensiones de la API de Reading List, consulta el ejemplo de la API de Reading List.

Tipos

AddEntryOptions

Propiedades

  • hasBeenRead

    boolean

    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

    Título que se buscará.

  • url

    string opcional

    Una URL para buscar.

ReadingListEntry

Propiedades

  • creationTime

    número

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

  • hasBeenRead

    boolean

    Será true si se leyó la entrada.

  • lastUpdateTime

    número

    La última vez que se actualizó la entrada. Este valor se indica 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

    La URL que se quitará.

UpdateEntryOptions

Propiedades

  • hasBeenRead

    booleano opcional

    El estado de lectura actualizado. El estado existente permanece si no se proporciona un valor.

  • título

    string opcional

    El título nuevo. El mosaico existente permanecerá si no se proporciona un valor.

  • url

    string

    La URL que se actualizará.

Métodos

addEntry()

Promesa
chrome.readingList.addEntry(
  entry: AddEntryOptions,
  callback?: function,
)

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

Parámetros

  • Entrada que se agregará a la lista de lectura.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

query()

Promesa
chrome.readingList.query(
  info: QueryInfo,
  callback?: function,
)

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

Parámetros

  • información

    Son las propiedades que se buscarán.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (entries: ReadingListEntry[]) => void

Muestra

  • Promise&lt;ReadingListEntry[]&gt;

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

removeEntry()

Promesa
chrome.readingList.removeEntry(
  info: RemoveOptions,
  callback?: function,
)

Elimina una entrada de la lista de lectura si existe.

Parámetros

  • información

    Entrada que se quitará de la lista de lectura.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

updateEntry()

Promesa
chrome.readingList.updateEntry(
  info: UpdateEntryOptions,
  callback?: function,
)

Actualiza una entrada de la lista de lectura si existe.

Parámetros

  • información

    Entrada que se actualizará.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Las promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para retrocompatibilidad. No puedes usar ambos en la misma llamada a función. El se resuelve con el mismo tipo que se pasa a la devolución de llamada.

Eventos

onEntryAdded

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

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

Parámetros

onEntryRemoved

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

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

Parámetros

onEntryUpdated

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

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

Parámetros