bookmarks.create()
Creates a bookmark or folder as a child of the BookmarkTreeNode
with the specified parentId
. To create a folder, omit or leave empty the CreateDetails.url
parameter.
Warning: If your extension tries to create a new bookmark in the bookmark tree's root node, it raises an error: "The bookmark root cannot be modified" and the bookmark won't be created.
This is an asynchronous function that returns a Promise
.
Syntax
js
let createBookmark = browser.bookmarks.create(
bookmark // CreateDetails object
)
Parameters
bookmark
-
A
bookmarks.CreateDetails
object.
Return value
A Promise
that will be fulfilled with a BookmarkTreeNode
that describes the new bookmark node.
Note: If you create multiple bookmarks, because this API is asynchronous, the create 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 create calls are completed. If the index associated with a bookmark matters to your extension, then – when creating multiple bookmarks – the extension should wait for each bookmarks.create
call to complete before creating the next bookmark. Waiting ensures that the index associated with each bookmark is not affected by a create call executing concurrently while the original call is in progress.
Examples
This example creates a bookmark for this page, placing it in the default folder ("Other Bookmarks" in Firefox and Chrome).
js
function onCreated(node) {
console.log(node);
}
let createBookmark = browser.bookmarks.create({
title: "bookmarks.create() on MDN",
url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create",
});
createBookmark.then(onCreated);
Example extensions
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.