bookmarks.search()

bookmarks.search() 関数は、指定したクエリーにマッチするブックマークを検索するものです。マッチしたブックマークは、bookmarks.BookmarkTreeNode オブジェクトの配列として、指定されたコールバック関数の引数に渡されます。

入力引数の値や型が不正だった場合、この関数は例外を送出します。エラーメッセージはコンソールで確認できます。送出された例外はエラー ID を含んでおらず、またメッセージを変更される可能性があるため、これらを解析するようなコードは書かないでください。

構文

js
browser.bookmarks.search(
  query, // 文字列またはオブジェクト
  callback, // 関数
);

引数

query

実行するクエリーを表す string または object です。

query を文字列で指定する場合、query は 0 個以上の検索項から構成されます。検索項はスペースで区切りますが、複数語からなる句を検索したい場合は引用符でくくります。それぞれの検索項はブックマークの URL やタイトルの部分文字列にマッチします(大文字・小文字は区別されません)。あるブックマークがクエリーにマッチするには、クエリーの検索項すべてがマッチしなければなりません。

query をオブジェクトで指定する場合、以下の 3 つのプロパティのうち 0 個以上を指定することになります。あるブックマークがクエリーにマッチするには、指定されたプロパティすべてにおいてマッチしなければなりません。

query省略可

1 つ以上の検索項を含んだ string を指定します。このフォーマットは query 引数における文字列のフォーマットと同じです。このプロパティ値が string でなかった場合、 例外が送出されます。

url省略可

ブックマークの URL と完全一致しなければならない string を指定します。マッチの際に大文字・小文字は区別されず、また末尾のスラッシュも無視されます。

無効な URL を指定した場合、例外が送出されます。

title省略可

ブックマークのタイトルと完全一致しなければならない string を指定します。マッチの際には大文字・小文字が区別されます。

callback

クエリーの結果が得られた場合に呼び出される関数を指定します。この関数には以下の引数が渡ります。

results

bookmarks.BookmarkTreeNode オブジェクトの配列であり、各要素はマッチしたブックマークをそれぞれ表しています。何も見つからなかった場合は空の配列となります。

ブラウザーの互換性

BCD tables only load in the browser

使用例

以下の例は、ブックマークすべての ID を出力するものです。

js
function onGot(bookmarkItems) {
  for (item of bookmarkItems) {
    console.log(item.id);
  }
}

chrome.bookmarks.search({}, onGot);

以下の例は、その時にアクティブなタブがブックマークされているかどうかを確認するものです。

js
function onGot(bookmarkItems) {
  if (bookmarkItems.length) {
    console.log("active tab is bookmarked");
  } else {
    console.log("active tab is not bookmarked");
  }
}

function checkActiveTab(tab) {
  chrome.bookmarks.search({ url: tab.url }, onGot);
}

chrome.browserAction.onClicked.addListener(checkActiveTab);

Example extensions

メモ: この API は Chromium の chrome.bookmarks API に基づいています。また、このドキュメントは bookmarks.json における Chromium のコードから作成されています。Microsoft Edge の実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従います。