bookmarks.update()

bookmarks.update() 會更新書籤的標題和/或 URL,或書籤資料夾的名稱。

警告:如果您的擴充套件嘗試更新書籤樹根節點中的書籤,該呼叫將引發一個錯誤,訊息為:“The bookmark root cannot be modified”(書籤根目錄無法修改),並且該書籤將不會被更新。

這是一個非同步函式,返回一個 Promise

語法

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

引數

id

一個 string,指定要更新的書籤或書籤資料夾的 ID。

changes

一個 object,指定要應用的更改,其中包含以下欄位的任意組合。未指定的任何專案都不會在引用的書籤或資料夾中更改。

title 可選

一個 string,包含書籤的新標題,或者如果 id 指向一個資料夾,則為資料夾的新名稱。

url 可選

一個 string,提供書籤的新 URL。

返回值

一個 Promise,它將以單個 bookmarks.BookmarkTreeNode 物件 fulfilled,該物件代表更新後的書籤。如果找不到與 id 引數對應的書籤項,則 Promise 被 rejected。

示例

此示例會將所有名為“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);

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.bookmarks API。本文件摘自 Chromium 程式碼中的 bookmarks.json