說明
使用 chrome.readingList
API 讀取及修改閱讀清單中的項目。
權限
readingList
如要使用 Reading List API,請在擴充功能資訊清單檔案中加入 "readingList"
權限:
manifest.json:
{ "name": "My reading list extension", ... "permissions": [ "readingList" ] }
可用性
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()
chrome.readingList.addEntry(
entry: AddEntryOptions,
callback?: function,
)
如果閱讀清單不存在,則會新增項目。
參數
-
要加入閱讀清單的項目。
- 回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。
query()
chrome.readingList.query(
info: QueryInfo,
callback?: function,
)
擷取符合 QueryInfo
屬性的所有項目。未提供的房源將不相符。
參數
- 資訊
要搜尋的屬性,
- 回呼
函式 選填
callback
參數如下所示:(entries: ReadingListEntry[]) => void
- 項目
-
傳回
-
Promise<ReadingListEntry[]>
Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
callback?: function,
)
從閱讀清單中移除項目 (如有)。
參數
-
要從閱讀清單中移除的項目。
- 回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
callback?: function,
)
更新閱讀清單項目 (如有)。
參數
-
要更新的項目。
- 回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Promise 適用於 Manifest V3 及以上版本,但系統會為 回溯相容性您無法在同一個函式呼叫中同時使用這兩種方法。 保證會以傳遞至回呼的相同類型來解析。
活動
onEntryAdded
chrome.readingList.onEntryAdded.addListener(
callback: function,
)
在 ReadingListEntry
新增至閱讀清單時觸發。
參數
- 回呼
函式
callback
參數如下所示:(entry: ReadingListEntry) => void
onEntryRemoved
chrome.readingList.onEntryRemoved.addListener(
callback: function,
)
從閱讀清單移除ReadingListEntry
時觸發。
參數
- 回呼
函式
callback
參數如下所示:(entry: ReadingListEntry) => void
onEntryUpdated
chrome.readingList.onEntryUpdated.addListener(
callback: function,
)
在閱讀清單中更新 ReadingListEntry
時觸發。
參數
- 回呼
函式
callback
參數如下所示:(entry: ReadingListEntry) => void