bookmarks.move()
bookmarks.move() 方法会将指定的 BookmarkTreeNode 移动到书签树中指定的目标位置。这允许您将书签移动到新的文件夹和/或在文件夹内的特定位置。
警告: 如果您的扩展尝试将书签移动到书签树根节点,该调用将引发一条错误消息:“The bookmark root cannot be modified”,并且移动将不会完成。
这是一个异步函数,返回一个 Promise。
语法
let movingBookmark = browser.bookmarks.move(
id, // string
destination // object
)
参数
id-
一个
string,包含要移动的书签或文件夹的 ID。 destination-
一个
object,指定书签的目标位置。此对象必须包含以下一个或两个字段:parentId可选-
一个
string,指定目标文件夹的 ID。如果省略此值,书签将移动到其当前文件夹内的新位置。 index可选-
一个 0 基索引,指定要移动书签到的文件夹内的位置。值为 0 会将书签移动到文件夹的顶部。如果省略此值,书签将放置在新父文件夹的末尾。
返回值
一个 Promise,该 Promise 将以一个 bookmarks.BookmarkTreeNode 对象 fulfilled,描述被移动的节点。
如果找不到与 id 参数对应的节点,Promise 将被拒绝并带有错误消息。
注意: 如果您移动多个书签,由于此 API 是异步的,移动调用可能会以任何顺序处理。因此,在所有移动调用完成之前,返回的每个书签的索引值 BookmarkTreeNode 可能会改变或未知。如果书签关联的索引对您的扩展很重要,那么——在移动多个书签时——扩展应该等待每个 bookmarks.move 调用完成,然后再移动下一个书签。等待可确保每个书签关联的索引不受正在进行的原始调用期间并发执行的移动调用的影响。
示例
此示例将一个书签移动到其当前文件夹中的第一个位置。
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);
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.bookmarks API。本文档源自 Chromium 代码中的 bookmarks.json。