bookmarks.create()

作为指定 parentIdBookmarkTreeNode 的子项,创建书签或文件夹。要创建文件夹,请省略或留空 CreateDetails#url 参数。

警告: 如果您的扩展程序尝试在书签树的根节点中创建新书签,它将引发一个错误:“无法修改书签根目录”,并且该书签将不会被创建。

这是一个异步函数,返回一个 Promise

语法

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

参数

bookmark

一个 bookmarks.CreateDetails 对象。

返回值

一个 Promise,它将以一个描述新书签节点的 BookmarkTreeNode 来兑现。

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

示例

此示例为本页面创建一个书签,并将其放置在默认文件夹中(在 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);

扩展程序示例

浏览器兼容性

注意: 此 API 基于 Chromium 的 chrome.bookmarks API。本文档源自 Chromium 代码中的 bookmarks.json