bookmarks.create()
创建书签或文件夹作为指定parentId
的BookmarkTreeNode
的子节点。若要创建文件夹,请省略或留空CreateDetails.url
参数。
警告:如果您的扩展尝试在书签树的根节点中创建新的书签,则会引发错误:“无法修改书签根节点”,并且不会创建书签。
这是一个异步函数,它返回一个Promise
。
语法
js
let createBookmark = browser.bookmarks.create(
bookmark // CreateDetails object
)
参数
返回值
一个Promise
,它将使用描述新书签节点的BookmarkTreeNode
来完成。
注意:如果您创建多个书签,因为此 API 是异步的,所以创建调用可能会按任何顺序处理。因此,在BookmarkTreeNode
中返回的每个书签的索引值可能会更改或未知,直到所有创建调用都完成。如果与书签关联的索引对您的扩展很重要,那么 - 在创建多个书签时 - 扩展应该等待每个bookmarks.create
调用完成,然后再创建下一个书签。等待可确保与每个书签关联的索引不受并发执行的创建调用的影响,而原始调用正在进行中。
示例
此示例为当前页面创建书签,并将其放置在默认文件夹中(Firefox 和 Chrome 中为“其他书签”)。
js
function onCreated(node) {
console.log(node);
}
let createBookmark = browser.bookmarks.create({
title: "bookmarks.create() on MDN",
url: "https://mdn.org.cn/Add-ons/WebExtensions/API/bookmarks/create",
});
createBookmark.then(onCreated);
扩展示例
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的chrome.bookmarks
API。本文档源自 Chromium 代码中的bookmarks.json
。