chrome.readingList

說明

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

權限

readingList

如要使用 Reading List API,請在擴充功能「資訊清單」檔案中加入 "readingList" 權限:

manifest.json:

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

適用國家/地區

Chrome 120 以上版本 MV3 以上版本

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

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

概念和用法

商品訂購

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

項目獨特性

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

用途

以下各節將說明 Reading List API 的一些常見用途。如需完整的擴充功能範例,請參閱擴充功能範例

新增項目

如要將項目加入閱讀清單,請使用 chrome.readingList.addEntry()

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

顯示項目

如要顯示閱讀清單中的項目,請使用 chrome.readingList.query() 方法擷取項目。

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

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

將項目標示為已讀

您可以使用 chrome.readingList.updateEntry() 更新標題、網址和閱讀狀態。以下程式碼會將項目標示為已讀:

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

移除項目

如要移除項目,請使用 chrome.readingList.removeEntry()

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

擴充功能範例

如需更多 Reading List API 擴充功能示範內容,請參閱 Reading List API 範例

類型

AddEntryOptions

屬性

  • hasBeenRead

    boolean

    如果項目已讀取,則值為 true

  • title

    字串

    項目的標題。

  • url

    字串

    項目的網址。

QueryInfo

屬性

  • hasBeenRead

    布林值 (選用)

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

  • title

    字串 選用

    要搜尋的標題。

  • url

    字串 選用

    要搜尋的網址。

ReadingListEntry

屬性

  • creationTime

    號碼

    項目的建立時間。從 1970 年 1 月 1 日開始以毫秒為單位記錄。

  • hasBeenRead

    boolean

    如果項目已讀取,則值為 true

  • lastUpdateTime

    號碼

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

  • title

    字串

    項目的標題。

  • url

    字串

    項目的網址。

RemoveOptions

屬性

  • url

    字串

    要移除的網址。

UpdateEntryOptions

屬性

  • hasBeenRead

    布林值 (選用)

    更新後的已讀取狀態。如未提供值,則會維持現有狀態。

  • title

    字串 選用

    新標題。如未提供值,現有的圖塊仍會保持。

  • url

    字串

    要更新的網址。

方法

addEntry()

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

將項目新增至閱讀清單 (如果不存在)。

參數

  • 要新增至閱讀清單的項目。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

query()

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

擷取符合 QueryInfo 屬性的所有項目。系統不會比對未提供的房源。

參數

傳回

  • Promise<ReadingListEntry[]>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

removeEntry()

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

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

參數

  • 資訊

    要從閱讀清單中移除的項目。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

updateEntry()

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

更新讀取清單項目 (如果有的話)。

參數

  • 要更新的項目。

  • 回呼

    函式選用

    callback 參數如下所示:

    ()=>void

傳回

  • Promise<void>

    Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。

活動

onEntryAdded

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

在將 ReadingListEntry 新增至閱讀清單時觸發。

參數

onEntryRemoved

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

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

參數

onEntryUpdated

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

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

參數