説明
chrome.readingList API を使用して、リーディング リストのアイテムを読み取り、変更します。
権限
readingListReading List API を使用するには、拡張機能のマニフェスト ファイルに "readingList" 権限を追加します。
manifest.json:
{
"name": "My reading list extension",
...
"permissions": [
"readingList"
]
}
対象
Chrome には、サイドパネルにリーディング リストが表示されます。ウェブページを保存して、後でオフライン環境になったときでも読むことができます。 Reading List API を使用して、既存のアイテムを取得し、リストにアイテムを追加または削除します。
コンセプトと使用方法
アイテムの並べ替え
リーディング リスト内のアイテムの順序は保証されません。
アイテムの一意性
アイテムは URL でキー設定されます。これには、ハッシュとクエリ文字列が含まれます。
ユースケース
以降のセクションでは、Reading List API の一般的なユースケースをいくつか紹介します。拡張機能の完全な例については、拡張機能のサンプルをご覧ください。
アイテムを追加
リーディング リストに項目を追加するには、browser.readingList.addEntry() を使用します。
browser.readingList.addEntry({
title: "New to the web platform in September | web.dev",
url: "https://developer.chrome.com/",
hasBeenRead: false
});
アイテムを表示する
リーディング リストのアイテムを表示するには、browser.readingList.query() メソッドを使用してアイテムを取得します。
const items = await browser.readingList.query({});
for (const item of items) {
// Do something do display the item
}
アイテムを既読にする
browser.readingList.updateEntry() を使用して、タイトル、URL、既読ステータスを更新できます。次のコードは、アイテムを既読としてマークします。
browser.readingList.updateEntry({
url: "https://developer.chrome.com/",
hasBeenRead: true
});
項目を削除する
アイテムを削除するには、browser.readingList.removeEntry() を使用します。
browser.readingList.removeEntry({
url: "https://developer.chrome.com/"
});
拡張機能のサンプル
Reading List API 拡張機能のその他のデモについては、Reading List API のサンプルをご覧ください。
型
AddEntryOptions
プロパティ
-
hasBeenRead
ブール値
エントリが読み取られた場合は
trueになります。 -
title
文字列
エントリのタイトル。
-
URL
文字列
エントリの URL。
QueryInfo
プロパティ
-
hasBeenRead
boolean 省略可
既読(
true)アイテムまたは未読(false)アイテムを検索するかどうかを示します。 -
title
文字列 省略可
検索するタイトル。
-
URL
文字列 省略可
検索する URL。
ReadingListEntry
プロパティ
-
creationTime
数値
エントリが作成された時刻。1970 年 1 月 1 日からのミリ秒数で記録されます。
-
hasBeenRead
ブール値
エントリが読み取られた場合は
trueになります。 -
lastUpdateTime
数値
エントリが最後に更新された日時。この値は、1970 年 1 月 1 日からのミリ秒数です。
-
title
文字列
エントリのタイトル。
-
URL
文字列
エントリの URL。
RemoveOptions
プロパティ
-
URL
文字列
削除する URL。
UpdateEntryOptions
プロパティ
-
hasBeenRead
boolean 省略可
更新された既読ステータス。値が指定されていない場合、既存のステータスが維持されます。
-
title
文字列 省略可
新しいタイトル。値が指定されていない場合、既存のタイルはそのまま残ります。
-
URL
文字列
更新される URL。
メソッド
addEntry()
browser.readingList.addEntry(
entry: AddEntryOptions,
): Promise<void>
リーディング リストにエントリが存在しない場合は、エントリを追加します。
パラメータ
-
必要事項を入力します。
リーディング リストに追加するエントリ。
戻り値
-
Promise<void>
エントリが追加されると解決されます。
query()
browser.readingList.query(
info: QueryInfo,
): Promise<ReadingListEntry[]>
QueryInfo プロパティに一致するすべてのエントリを取得します。指定されていないプロパティは照合されません。
パラメータ
-
情報
検索するプロパティ。
戻り値
-
Promise<ReadingListEntry[]>
エントリが一致すると解決されます。
removeEntry()
browser.readingList.removeEntry(
info: RemoveOptions,
): Promise<void>
リーディング リストにエントリが存在する場合は削除します。
パラメータ
-
リーディング リストから削除するエントリ。
戻り値
-
Promise<void>
エントリが削除されると解決します。
updateEntry()
browser.readingList.updateEntry(
info: UpdateEntryOptions,
): Promise<void>
リーディング リストのエントリが存在する場合は更新します。
パラメータ
-
更新するエントリ。
戻り値
-
Promise<void>
一致するエントリが更新されると解決します。
イベント
onEntryAdded
browser.readingList.onEntryAdded.addListener(
callback: function,
)
ReadingListEntry がリーディング リストに追加されたときにトリガーされます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-
onEntryRemoved
browser.readingList.onEntryRemoved.addListener(
callback: function,
)
ReadingListEntry がリーディング リストから削除されたときにトリガーされます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-
onEntryUpdated
browser.readingList.onEntryUpdated.addListener(
callback: function,
)
リーディング リストで ReadingListEntry が更新されたときにトリガーされます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(entry: ReadingListEntry) => void
-
必要事項を入力します。
-