bookmarks.search()
bookmarks.search()
関数は、指定したクエリーにマッチするブックマークを検索するものです。マッチしたブックマークは、bookmarks.BookmarkTreeNode
オブジェクトの配列として、指定されたコールバック関数の引数に渡されます。
入力引数の値や型が不正だった場合、この関数は例外を送出します。エラーメッセージはコンソールで確認できます。送出された例外はエラー ID を含んでおらず、またメッセージを変更される可能性があるため、これらを解析するようなコードは書かないでください。
構文
browser.bookmarks.search(
query, // 文字列またはオブジェクト
callback, // 関数
);
引数
query
-
実行するクエリーを表す
string
またはobject
です。query
を文字列で指定する場合、query
は 0 個以上の検索項から構成されます。検索項はスペースで区切りますが、複数語からなる句を検索したい場合は引用符でくくります。それぞれの検索項はブックマークの URL やタイトルの部分文字列にマッチします(大文字・小文字は区別されません)。あるブックマークがクエリーにマッチするには、クエリーの検索項すべてがマッチしなければなりません。query
をオブジェクトで指定する場合、以下の 3 つのプロパティのうち 0 個以上を指定することになります。あるブックマークがクエリーにマッチするには、指定されたプロパティすべてにおいてマッチしなければなりません。 callback
-
クエリーの結果が得られた場合に呼び出される関数を指定します。この関数には以下の引数が渡ります。
results
-
bookmarks.BookmarkTreeNode
オブジェクトの配列であり、各要素はマッチしたブックマークをそれぞれ表しています。何も見つからなかった場合は空の配列となります。
ブラウザーの互換性
BCD tables only load in the browser
使用例
以下の例は、ブックマークすべての ID を出力するものです。
function onGot(bookmarkItems) {
for (item of bookmarkItems) {
console.log(item.id);
}
}
chrome.bookmarks.search({}, onGot);
以下の例は、その時にアクティブなタブがブックマークされているかどうかを確認するものです。
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 に従います。