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

    布林值

    如果已讀取該項目,將會是 true

  • title

    字串

    項目標題。

  • 網址

    字串

    項目的網址。

QueryInfo

屬性

  • hasBeenRead

    布林值 選填

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

  • title

    string 選填

    要搜尋的標題,

  • 網址

    string optional

    要搜尋的網址。

ReadingListEntry

屬性

  • creationTime

    數字

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

  • hasBeenRead

    布林值

    如果已讀取項目,則會是 true

  • lastUpdateTime

    數字

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

  • title

    字串

    項目標題。

  • 網址

    字串

    項目的網址。

RemoveOptions

屬性

  • 網址

    字串

    要移除的網址。

UpdateEntryOptions

屬性

  • hasBeenRead

    布林值 選填

    更新的讀取狀態。如未提供值,系統會維持現有狀態。

  • title

    string optional

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

  • 網址

    字串

    要更新的網址。

方法

addEntry()

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

如果閱讀清單不存在,則會新增項目。

參數

  • 要加入閱讀清單的項目。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。

query()

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

擷取符合 QueryInfo 屬性的所有項目。未提供的房源將不相符。

參數

傳回

  • Promise<ReadingListEntry[]>

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。

removeEntry()

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

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

參數

  • 資訊

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

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。

updateEntry()

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

更新閱讀清單項目 (如有)。

參數

  • 要更新的項目。

  • 回呼

    函式 選用

    callback 參數如下所示:

    () => void

傳回

  • Promise<void>

    Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。

活動

onEntryAdded

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

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

參數

onEntryRemoved

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

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

參數

onEntryUpdated

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

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

參數