bookmarks.create()

在指定的 parentIdBookmarkTreeNode 下创建一个书签或文件夹。要创建文件夹,请省略或留空 CreateDetails#url 参数。

警告: 如果你的扩展尝试在书签树的根节点中创建新书签,则会引发错误:“The bookmark root cannot be modified”,并且不会创建该书签。

这是一个返回 Promise 的异步函数。

语法

js
let createBookmark = browser.bookmarks.create(
  bookmark                  // CreateDetails 对象
)

参数

返回值

一个 Promise,其会兑现一个 BookmarkTreeNode 对象,该对象描述了新创建的书签节点。

备注: 如果你创建多个书签,由于此 API 是异步的,因此创建调用可能以任何顺序处理。因此,在 BookmarkTreeNode 中返回的每个书签的索引值可能会在所有创建调用完成之前发生变化或是未知的。如果书签的索引对你的扩展很重要,那么在创建多个书签时,扩展应等待每个 bookmarks.create 调用完成后再创建下一个书签。等待可确保每个书签的索引不受在原始调用正在进行时并发执行的创建调用的影响。

示例

此示例创建了一个当前页面的书签,并将其放置在默认文件夹中(Firefox 和 Chrome 中为“其他书签”)。

js
function onCreated(node) {
  console.log(node);
}

let createBookmark = browser.bookmarks.create({
  title: "bookmarks.create() - MDN",
  url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create",
});

createBookmark.then(onCreated);

示例扩展

浏览器兼容性

BCD tables only load in the browser

备注: 此 API 基于 Chromium 的 chrome.bookmarks API。该文档衍生自 Chromium 代码中的 bookmarks.json