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 を使用すると、既存のアイテムの取得や、リストのアイテムの追加や削除ができます。

<ph type="x-smartling-placeholder">
</ph> 複数の記事を表示するリーディング リスト <ph type="x-smartling-placeholder">
</ph> いくつかの記事が表示されたリーディング リスト
をご覧ください。

コンセプトと使用方法

商品アイテムの順序

リーディング リストの項目の順序は保証されません。

アイテムの一意性

アイテムは URL でキー付けされます。これには、ハッシュとクエリ文字列が含まれます。

ユースケース

以降のセクションでは、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() を使用して、タイトル、URL、既読ステータスを更新できます。次のコードは、アイテムを既読としてマークします。

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

    文字列

    エントリのタイトル。

  • URL

    文字列

    エントリの URL。

QueryInfo

プロパティ

  • hasBeenRead

    ブール値(省略可)

    既読(true)アイテムと未読(false)アイテムのどちらを検索するかを示します。

  • title

    文字列(省略可)

    検索するタイトル。

  • URL

    文字列(省略可)

    検索する URL。

ReadingListEntry

プロパティ

  • creationTime

    数値

    エントリが作成された時刻。1970 年 1 月 1 日からのミリ秒数で記録されています。

  • hasBeenRead

    ブール値

    エントリが読み取られた場合は true になります。

  • lastUpdateTime

    数値

    エントリが最後に更新された日時。この値は、1970 年 1 月 1 日からのミリ秒数です。

  • title

    文字列

    エントリのタイトル。

  • URL

    文字列

    エントリの URL。

RemoveOptions

プロパティ

  • URL

    文字列

    削除する URL。

UpdateEntryOptions

プロパティ

  • hasBeenRead

    ブール値(省略可)

    更新された読み取りステータス。値を指定しない場合は、既存のステータスが維持されます。

  • title

    文字列(省略可)

    新しいタイトル。値を指定しない場合、既存のタイルが残ります。

  • URL

    文字列

    更新される URL。

メソッド

addEntry()

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

エントリが存在しない場合は、リーディング リストにエントリを追加します。

パラメータ

  • 必要事項を入力します。

    リーディング リストに追加するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise&lt;void&gt;

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

query()

<ph type="x-smartling-placeholder"></ph> Promise
chrome.readingList.query(
  info: QueryInfo,
  callback?: function,
)

QueryInfo プロパティに一致するすべてのエントリを取得します。指定されていない宿泊施設は一致しません。

パラメータ

戻り値

  • Promise<ReadingListEntry[]>

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

removeEntry()

<ph type="x-smartling-placeholder"></ph> Promise
chrome.readingList.removeEntry(
  info: RemoveOptions,
  callback?: function,
)

リーディング リストからエントリを削除します(存在する場合)。

パラメータ

  • 情報

    リーディング リストから削除するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise&lt;void&gt;

    Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

updateEntry()

<ph type="x-smartling-placeholder"></ph> Promise
chrome.readingList.updateEntry(
  info: UpdateEntryOptions,
  callback?: function,
)

リーディング リストのエントリがある場合は更新します。

パラメータ

  • 更新するエントリ。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    () => void

戻り値

  • Promise&lt;void&gt;

    Promise は Manifest V3 以降でサポートされていますが、下位互換性を確保するためにコールバックが用意されています。同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

イベント

onEntryAdded

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

ReadingListEntry がリーディング リストに追加されるとトリガーされます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (entry: ReadingListEntry) => void

onEntryRemoved

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

リーディング リストから ReadingListEntry が削除されたときにトリガーされます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (entry: ReadingListEntry) => void

onEntryUpdated

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

リーディング リスト内で ReadingListEntry が更新されるとトリガーされます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (entry: ReadingListEntry) => void