說明
使用 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
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()
chrome.readingList.addEntry(
entry: AddEntryOptions,
callback?: function,
)
將項目新增至閱讀清單 (如果不存在)。
參數
-
要新增至閱讀清單的項目。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
query()
chrome.readingList.query(
info: QueryInfo,
callback?: function,
)
擷取符合 QueryInfo
屬性的所有項目。系統不會比對未提供的房源。
參數
-
資訊
要搜尋的屬性。
-
回呼
函式選用
callback
參數如下所示:(entries: ReadingListEntry[]) => void
-
entries
-
傳回
-
Promise<ReadingListEntry[]>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
removeEntry()
chrome.readingList.removeEntry(
info: RemoveOptions,
callback?: function,
)
從閱讀清單中移除項目 (如果有的話)。
參數
-
要從閱讀清單中移除的項目。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
updateEntry()
chrome.readingList.updateEntry(
info: UpdateEntryOptions,
callback?: function,
)
更新讀取清單項目 (如果有的話)。
參數
-
要更新的項目。
-
回呼
函式選用
callback
參數如下所示:() => void
傳回
-
Promise<void>
Manifest V3 以上版本支援 Promise,但是為了提供回溯相容性而提供的回呼。您無法在同一個函式呼叫中同時使用這兩者。承諾會用傳遞至回呼的同類型解析。
活動
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