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 tiene 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 que muestra varios artículos
Lista de lectura en la que se muestran varios artículos

Conceptos y uso

Pedido de 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 de 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

    cadena opcional

    Es una URL para 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

    boolean

    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

    La URL que se quitará.

UpdateEntryOptions

Propiedades

  • hasBeenRead

    booleano opcional

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

  • título

    string opcional

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

  • url

    string

    La URL que se actualizará.

Métodos

addEntry()

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

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

Parámetros

  • Es la 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

  • Promise<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

    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,
)

Quita 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

  • Promise<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()

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

Actualiza una entrada de la lista de lectura si existe.

Parámetros

  • información

    Es la entrada que se actualizará.

  • callback

    función opcional

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

    () => void

Muestra

  • Promise<void>

    Las promesas son compatibles con el manifiesto V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para la retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa 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