bookmarks.getTree()

bookmarks.getTree() 返回一個數組,其中包含書籤樹的根節點,該根節點是一個 bookmarks.BookmarkTreeNode 物件。

您可以使用其 children 屬性以及後代節點的 children 屬性(如果它們本身是資料夾)來遞迴訪問整個樹。

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

語法

js
let gettingTree = browser.bookmarks.getTree()

引數

無。

返回值

一個 Promise,它將以包含一個物件的陣列形式被 fulfilled,該物件是一個 bookmarks.BookmarkTreeNode 物件,代表根節點。

示例

此示例將打印出整個書籤樹。

js
function makeIndent(indentLength) {
  return ".".repeat(indentLength);
}

function logItems(bookmarkItem, indent) {
  if (bookmarkItem.url) {
    console.log(makeIndent(indent) + bookmarkItem.url);
  } else {
    console.log(`${makeIndent(indent)}Folder`);
    indent++;
  }
  if (bookmarkItem.children) {
    for (const child of bookmarkItem.children) {
      logItems(child, indent);
    }
  }
  indent--;
}

function logTree(bookmarkItems) {
  logItems(bookmarkItems[0], 0);
}

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

let gettingTree = browser.bookmarks.getTree();
gettingTree.then(logTree, onRejected);

瀏覽器相容性

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