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
オブジェクトの配列であり、各要素はマッチしたブックマークをそれぞれ表しています。何も見つからなかった場合は空の配列となります。
ブラウザーの互換性
使用例
以下の例は、ブックマークすべての 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 のコードから作成されています。