bookmarks.search()
Функция bookmarks.search() ищет узлы дерева закладок, соответствующие заданному запросу.
Эта функция вызывает исключение, если какие-либо входные параметры некорректны или не имеют соответствующего типа; см. сообщение об ошибке в консоли. Исключения не имеют идентификаторов ошибок, и сами сообщения могут изменяться, поэтому не пишите код, пытающийся их интерпретировать.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let searching = browser.bookmarks.search( query // string or object )
Параметры
query-
A
stringилиobjectописывающий запрос для выполнения.Если
queryявляется строкой, она состоит из одного или нескольких поисковых терминов, разделённых пробелами. Каждый поисковый термин соответствует, если он является подстрокой в URL или заголовке закладки. Сопоставление нечувствительно к регистру. Для того, чтобы закладка соответствовала запросу, все поисковые термины запроса должны быть сопоставлены.Если
queryявляется объектом, он состоит из одного или нескольких из 3 свойств:query,title, иurl, которые описаны ниже. Для того, чтобы закладка соответствовала запросу, все термины свойств должны быть сопоставлены.-
queryНеобязательно -
A
stringзадающий один или несколько терминов для сопоставления; формат идентичен строковой форме параметраquery. Если это не строка, выбрасывается исключение. -
urlНеобязательно -
A
string, который должен точно соответствовать URL закладки. Сопоставление нечувствительно к регистру, и завершающие слэши игнорируются.Если вы передаёте недопустимый URL, функция выбросит исключение.
-
titleНеобязательно -
A
stringкоторый должен точно соответствовать заголовку узла дерева закладок. Сопоставление чувствительно к регистру.
-
Возвращаемое значение
A Promise, который будет выполнен с массивом объектов bookmarks.BookmarkTreeNode, каждый из которых представляет собой отдельный соответствующий узел дерева закладок. Результаты возвращаются в порядке, в котором узлы были созданы. Массив пустой, если результаты не найдены.
Объект BookmarkTreeNodes — даже узлы типа "folder" — возвращаемые bookmarks.search(), отсутствует свойство children. Чтобы получить полный BookmarkTreeNode, используйте bookmarks.getSubTree().
Пример
В этом примере выводятся идентификаторы всех закладок:
function onFulfilled(bookmarkItems) { for (const item of bookmarkItems) { console.log(item.id); } } function onRejected(error) { console.log(`An error: ${error}`); } browser.bookmarks.search({}).then(onFulfilled, onRejected);
В этом примере проверяется, заложена ли текущая активная вкладка:
function onFulfilled(bookmarkItems) { if (bookmarkItems.length) { console.log("active tab is bookmarked"); } else { console.log("active tab is not bookmarked"); } } function onRejected(error) { console.log(`An error: ${error}`); } function checkActiveTab(tab) { browser.bookmarks.search({ url: tab.url }).then(onFulfilled, onRejected); } browser.browserAction.onClicked.addListener(checkActiveTab);
Примеры расширений
Совместимость с браузерами
| Рабочий стол | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
search |
Да | 79 | 47 | ? | Да | Нет | ? | ? | Нет | ? | Нет | ? |
Примечание: Этот API основан на API chrome.bookmarks Chromium. Данное руководство получено из bookmarks.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks/search