說明
使用 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