bookmarks.move()
该 bookmarks.move()
方法将指定的 BookmarkTreeNode
移动到书签树中的指定目标位置。这使您可以将书签移动到新文件夹和/或文件夹内的位置。
警告:如果您的扩展尝试将书签移动到书签树根节点,则该调用将引发一条错误消息:“无法修改书签根目录”,并且移动操作将不会完成。
这是一个异步函数,它返回一个 Promise
。
语法
js
let movingBookmark = browser.bookmarks.move(
id, // string
destination // object
)
参数
返回值
一个 Promise
,它将使用单个 bookmarks.BookmarkTreeNode
对象来完成,该对象描述了已移动的节点。
如果找不到与 id
参数对应的节点,则 promise 将被拒绝并显示错误消息。
注意:如果您移动多个书签,因为此 API 是异步的,所以移动调用可能会以任何顺序处理。因此,在 BookmarkTreeNode
中返回的每个书签的索引值可能会更改或未知,直到所有移动调用都完成。如果与书签关联的索引对您的扩展很重要,那么 - 在移动多个书签时 - 扩展应等待每个 bookmarks.move
调用完成,然后再移动下一个书签。等待可确保与每个书签关联的索引不受并发执行的移动调用的影响,而原始调用正在进行中。
示例
此示例移动书签,使其成为其当前文件夹中的第一个书签。
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);
浏览器兼容性
BCD 表仅在启用了 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的 chrome.bookmarks
API。此文档源自 Chromium 代码中的 bookmarks.json
。