书签.update()

bookmarks.update() 更新书签的标题和/或 URL,或书签文件夹的名称。

警告: 如果您的扩展试图更新书签树根节点中的书签,调用将引发错误,消息为:"书签根节点不可修改",并且书签不会更新。

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

语法

js
let updating = browser.bookmarks.update(
  id,                    // string
  changes                // object
)

参数

id

一个 string,指定要更新的书签或书签文件夹的 ID。

更改

一个 object,指定要应用的更改,包含以下字段的某些组合。任何未指定的项都不会在引用的书签或文件夹中更改

title 可选

一个 string,包含书签的新标题,或者如果 id 指向文件夹,则包含文件夹的新名称。

url 可选

一个 string,提供书签的新 URL。

返回值

一个 Promise,它将用一个单独的 bookmarks.BookmarkTreeNode 对象来完成,该对象表示更新后的书签。如果找不到与 id 参数相对应的书签项,则承诺将被拒绝。

示例

此示例将所有名为 "MDN" 的文件夹重命名为 "Mozilla Developer Network (MDN)"。

js
function onFulfilled(bookmarkItem) {
  console.log(bookmarkItem.title);
}

function onRejected(error) {
  console.error(`Error: ${error}`);
}

function updateFolders(items) {
  for (const item of items) {
    // only folders, so skip items with a `url`
    if (!item.url) {
      browser.bookmarks
        .update(item.id, {
          title: "Mozilla Developer Network (MDN)",
        })
        .then(onFulfilled, onRejected);
    }
  }
}

browser.bookmarks.search({ title: "MDN" }).then(updateFolders, onRejected);

浏览器兼容性

BCD 表格仅在浏览器中加载

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