bookmarks.getSubTree()
bookmarks.getSubTree() 方法會根據提供的 ID,非同步檢索一個 bookmarks.BookmarkTreeNode 物件。
如果該項是資料夾,您可以透過其 children 屬性以及其後代(如果它們本身也是資料夾)的 children 屬性來遞迴訪問其所有後代。
這是一個非同步函式,返回一個 Promise。
語法
js
let gettingSubTree = browser.bookmarks.getSubTree(
id // string
)
引數
返回值
一個 Promise,它會以一個包含一個物件的陣列來 fulfilled,該物件是一個 bookmarks.BookmarkTreeNode 物件,代表具有給定 ID 的項。
如果找不到與 id 對應的節點,Promise 將會因錯誤訊息而被拒絕。
示例
此示例遞迴列印給定節點下的子樹
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: ${bookmarkItem.id}`);
indent++;
}
if (bookmarkItem.children) {
for (const child of bookmarkItem.children) {
logItems(child, indent);
}
}
}
function logSubTree(bookmarkItems) {
logItems(bookmarkItems[0], 0);
}
function onRejected(error) {
console.log(`An error: ${error}`);
}
let subTreeID = "root_____";
browser.bookmarks.getSubTree(subTreeID).then(logSubTree, onRejected);
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.bookmarks API。本文件摘自 Chromium 程式碼中的 bookmarks.json。