bookmarks.create()

创建书签或文件夹作为指定parentIdBookmarkTreeNode的子节点。若要创建文件夹,请省略或留空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