bookmarks.search()
bookmarks.search() 函数会搜索与给定查询匹配的书签树节点。
如果任何输入参数无效或类型不正确,此函数将抛出异常;请在 控制台 中查看错误消息。这些异常没有错误 ID,且消息本身可能会更改,因此请不要编写试图解析它们的代码。
这是一个异步函数,返回一个 Promise。
语法
js
let searching = browser.bookmarks.search(
query // string or object
)
参数
返回值
一个 Promise,它将以一个 bookmarks.BookmarkTreeNode 对象数组的形式完成,每个对象代表一个匹配的书签树节点。结果按节点创建的顺序返回。如果没有找到结果,则数组为空。
由 bookmarks.search() 返回的 BookmarkTreeNodes—即使是 "folder" 类型的节点—缺少 children 属性。要获取完整的 BookmarkTreeNode,请使用 bookmarks.getSubTree()。
示例
此示例记录所有书签的 ID
js
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);
此示例检查当前活动标签页是否已添加书签
js
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);
扩展程序示例
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.bookmarks API。本文档源自 Chromium 代码中的 bookmarks.json。