browser.readingList

說明

使用 chrome.readingList API 讀取及修改閱讀清單中的項目。

權限

readingList

如要使用 Reading List API,請在擴充功能的資訊清單檔案中新增 "readingList" 權限:

manifest.json:

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

可用性

Chrome 120 以上版本 瀏覽器* (自 Chrome 148 起) MV3 以上版本

Chrome 的側邊面板設有閱讀清單,使用者可以儲存網頁,以便日後或離線時閱讀。 使用 Reading List API 擷取現有項目,以及在清單中新增或移除項目。

閱讀清單顯示多篇文章
顯示多篇文章的閱讀清單

概念和用途

項目排序

閱讀清單中的項目不保證會依任何順序排列。

項目不重複性

項目會依網址建立索引。包括雜湊和查詢字串。

用途

以下各節將說明 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() 更新標題、網址和閱讀狀態。下列程式碼會將項目標示為已讀:

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。

  • title

    字串

    項目的標題。

  • 網址

    字串

    項目的網址。

QueryInfo

屬性

  • hasBeenRead

    布林值 選填

    指出是否要搜尋已讀 (true) 或未讀 (false) 項目。

  • title

    字串 選填

    要搜尋的標題。

  • 網址

    字串 選填

    要搜尋的網址。

ReadingListEntry

屬性

  • creationTime

    數字

    建立項目的時間。以自 1970 年 1 月 1 日起的毫秒數記錄。

  • hasBeenRead

    布林值

    如果項目已讀,則為 true。

  • lastUpdateTime

    數字

    上次更新項目的時間。這個值是以毫秒為單位,自 1970 年 1 月 1 日起算。

  • title

    字串

    項目的標題。

  • 網址

    字串

    項目的網址。

RemoveOptions

屬性

  • 網址

    字串

    要移除的網址。

UpdateEntryOptions

屬性

  • hasBeenRead

    布林值 選填

    更新後的已讀狀態。如未提供值,則會保留現有狀態。

  • title

    字串 選填

    新標題。如未提供值,則會保留現有圖塊。

  • 網址

    字串

    要更新的網址。

方法

addEntry()

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

如果閱讀清單中沒有該項目,則新增該項目。

參數

傳回

  • 承諾<void>

    新增項目後,系統會解析。

query()

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

擷取符合 QueryInfo 屬性的所有項目。未提供的屬性不會進行比對。

參數

傳回

removeEntry()

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

從閱讀清單中移除項目 (如果有的話)。

參數

傳回

  • 承諾<void>

    移除項目後,系統會解決問題。

updateEntry()

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

更新現有的閱讀清單項目。

參數

傳回

  • 承諾<void>

    比對成功的項目更新後,就會解析。

事件

onEntryAdded

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

在閱讀清單中加入ReadingListEntry時觸發。

參數

onEntryRemoved

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

從閱讀清單中移除ReadingListEntry時觸發。

參數

onEntryUpdated

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

在閱讀清單中更新 ReadingListEntry 時觸發。

參數