bookmarks.move()
The bookmarks.move()
method moves the specified BookmarkTreeNode
to the specified destination within the tree of bookmarks. This lets you move a bookmark to a new folder and/or position within the folder.
Warning: If your extension attempts to move a bookmark into the bookmarks tree root node, the call will raise an error with the message: "The bookmark root cannot be modified" and the move won't be completed.
This is an asynchronous function that returns a Promise
.
Syntax
js
let movingBookmark = browser.bookmarks.move(
id, // string
destination // object
)
Parameters
id
-
A
string
containing the ID of the bookmark or folder to move. destination
-
An
object
which specifies the destination for the bookmark. This object must contain one or both of the following fields:parentId
Optional-
A
string
which specifies the ID of the destination folder. If this value is left out, the bookmark is moved to a new location within its current folder. index
Optional-
A 0-based index specifying the position within the folder to which to move the bookmark. A value of 0 moves the bookmark to the top of the folder. If this value is omitted, the bookmark is placed at the end of the new parent folder.
Return value
A Promise
that will be fulfilled with a single bookmarks.BookmarkTreeNode
object, describing the moved node.
If the node corresponding to the id
parameter can't be found, the promise is rejected with an error message.
Note: If you move multiple bookmarks, because this API is asynchronous, the move calls may get processed in any order. Consequently, the value of each bookmark's index returned in BookmarkTreeNode
may change or be unknown until all the move calls are completed. If the index associated with a bookmark matters to your extension, then – when moving multiple bookmarks – the extension should wait for each bookmarks.move
call to complete before moving the next bookmark. Waiting ensures that the index associated with each bookmark is not affected by a move call executing concurrently while the original call is in progress.
Examples
This example moves a bookmark so that it's the first bookmark in its current folder.
js
function onMoved(bookmarkItem) {
console.log(bookmarkItem.index);
}
function onRejected(error) {
console.log(`An error: ${error}`);
}
let bookmarkId = "abcdefghijkl";
let movingBookmark = browser.bookmarks.move(bookmarkId, { index: 0 });
movingBookmark.then(onMoved, onRejected);
Browser compatibility
BCD tables only load in the browser
Note: This API is based on Chromium's chrome.bookmarks
API. This documentation is derived from bookmarks.json
in the Chromium code.