bookmarks.onMoved
当书签或文件夹被移动到不同的父文件夹或在文件夹内的位置时触发。
备注:如果你正在移动多个书签,由于此 API 是异步的,移动调用可能会以任何顺序处理。因此,每个书签的索引值可能会改变或在所有移动调用完成之前是未知的。如果书签的索引对你的扩展程序很重要,那么在移动多个书签时,扩展程序应等待每个 bookmarks.move
调用完成后再移动下一个书签。等待可以确保每个书签关联的索引不受正在执行的移动调用影响。
语法
js
browser.bookmarks.onMoved.addListener(listener);
browser.bookmarks.onMoved.removeListener(listener);
browser.bookmarks.onMoved.hasListener(listener);
事件包含以下三个函数:
addListener(listener)
-
添加一个监听器到该事件。
removeListener(listener)
-
停止监听该事件。
listener
参数是要移除的监听器。 hasListener(listener)
-
检查
listener
是否已注册到该事件。如果正在监听,返回true
,否则返回false
。
addListener 语法
参数
附加对象
moveInfo
parentId
-
string
。新的父文件夹。 index
-
integer
。此项目在其父项中的新索引。 oldParentId
-
string
。旧的父文件夹。 oldIndex
-
integer
。此项目在其父项中的旧索引。
浏览器兼容性
BCD tables only load in the browser
示例
js
function handleMoved(id, moveInfo) {
console.log(`项目:${id} 已移动`);
console.log(`旧索引:${moveInfo.oldIndex}`);
console.log(`新索引:${moveInfo.index}`);
console.log(`旧文件夹:${moveInfo.oldParentId}`);
console.log(`新文件夹:${moveInfo.parentId}`);
}
function handleClick() {
browser.bookmarks.onMoved.addListener(handleMoved);
}
browser.browserAction.onClicked.addListener(handleClick);
备注:此 API 基于 Chromium 的 chrome.bookmarks
API。该文档衍生自 Chromium 代码中的 bookmarks.json
。