browser.readingList

Описание

Используйте chrome.readingList API, чтобы читать и изменять элементы в списке для чтения.

Разрешения

readingList

Чтобы использовать Reading List API, добавьте разрешение "readingList" в файл манифеста расширения:

manifest.json:

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

Доступность

Chrome 120+ browser.* начиная с Chrome 148 MV3+

В Chrome есть список для чтения, который находится на боковой панели. Она позволяет сохранять веб-страницы, чтобы читать их позже или в офлайн-режиме. Используйте Reading List API, чтобы получать существующие элементы, а также добавлять и удалять элементы из списка.

Список для чтения с несколькими статьями
Список для чтения с несколькими статьями

Основные понятия и использование

Порядок объектов

Элементы в списке для чтения не упорядочены.

Уникальность товаров

Объекты идентифицируются по URL. включая хеш и строку запроса.

Примеры использования

В следующих разделах показаны некоторые распространенные варианты использования Reading List API. Полные примеры расширений можно найти в образцах расширений.

Добавить элемент

Чтобы добавить элемент в список для чтения, используйте browser.readingList.addEntry():

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

Показать элементы

Чтобы показать элементы из списка для чтения, используйте метод browser.readingList.query().

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

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

Как отметить элемент как прочитанный

Вы можете использовать browser.readingList.updateEntry(), чтобы изменить название, URL и статус прочтения. Следующий код помечает элемент как прочитанный:

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

Как удалить объект

Чтобы удалить объект, используйте browser.readingList.removeEntry():

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

Примеры расширений

Другие примеры расширений Reading List API можно найти в образце Reading List API.

Типы

AddEntryOptions

Свойства

  • hasBeenRead

    Логическое значение

    Если запись прочитана, будет возвращено значение true.

  • название

    string

    Название записи.

  • url

    string

    URL записи.

QueryInfo

Свойства

  • hasBeenRead

    Логическое значение (необязательно)

    Указывает, какие объекты искать: прочитанные (true) или непрочитанные (false).

  • название

    Строка (необязательно)

    Название, которое нужно найти.

  • url

    Строка (необязательно)

    URL, который нужно найти.

ReadingListEntry

Свойства

  • creationTime

    число

    Время создания записи. Записывается в миллисекундах с 1 января 1970 г.

  • hasBeenRead

    Логическое значение

    Если запись прочитана, будет возвращено значение true.

  • lastUpdateTime

    число

    Время последнего обновления записи. Значение указывается в миллисекундах, прошедших с 1 января 1970 г.

  • название

    string

    Название записи.

  • url

    string

    URL записи.

RemoveOptions

Свойства

  • url

    string

    URL, который нужно удалить.

UpdateEntryOptions

Свойства

  • hasBeenRead

    Логическое значение (необязательно)

    Обновленный статус прочтения. Если значение не указано, статус останется прежним.

  • название

    Строка (необязательно)

    Новое название. Если значение не указано, останется существующая карточка.

  • url

    string

    URL, который будет обновлен.

Методы

addEntry()

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

Добавляет запись в список для чтения, если ее там нет.

Параметры

  • запись

    Запись, которую нужно добавить в список для чтения.

Возвраты

  • Promise<void>

    Распознается после добавления записи.

query()

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

Получает все записи, соответствующие свойствам QueryInfo. Неуказанные свойства не будут сопоставляться.

Параметры

  • информация

    Свойства, которые нужно найти.

Возвраты

  • Promise<ReadingListEntry[]>

    Выполняется после сопоставления записей.

removeEntry()

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

Удаляет запись из списка для чтения, если она существует.

Параметры

  • информация

    Запись, которую нужно удалить из списка для чтения.

Возвраты

  • Promise<void>

    Выполняется после удаления записи.

updateEntry()

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

Обновляет запись в списке для чтения, если она существует.

Параметры

  • информация

    Запись, которую нужно обновить.

Возвраты

  • Promise<void>

    Выполняется после обновления совпадающих записей.

События

onEntryAdded

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

Срабатывает, когда ReadingListEntry добавляется в список для чтения.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (entry: ReadingListEntry) => void

onEntryRemoved

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

Срабатывает, когда ReadingListEntry удаляется из списка для чтения.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (entry: ReadingListEntry) => void

onEntryUpdated

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

Срабатывает, когда ReadingListEntry обновляется в списке для чтения.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (entry: ReadingListEntry) => void