bookmarks.getSubTree()
The bookmarks.getSubTree()
method asynchronously retrieves a bookmarks.BookmarkTreeNode
, given its ID.
If the item is a folder, you can access all its descendants recursively using its children
property and the children
property of its descendants, if they are themselves folders.
This is an asynchronous function that returns a Promise
.
Syntax
let gettingSubTree = browser.bookmarks.getSubTree(
id
)
Parameters
-
id
-
A string
specifying the ID of the root of the subtree to retrieve.
Return value
A Promise
that will be fulfilled with an array containing a single object, a bookmarks.BookmarkTreeNode
object, representing the item with the given ID.
If a node corresponding to id
could not be found, the promise will be rejected with an error message.
Examples
This example recursively prints out the subtree under a given node:
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);
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
getSubTree |
Yes |
79 |
45 |
? |
Yes |
No |
? |
? |
No |
? |
No |
? |