bookmarks.onChanged

触发条件:

  • 书签的标题或 URL 发生更改时
  • 文件夹的名称发生更改时

语法

js
browser.bookmarks.onChanged.addListener(listener)
browser.bookmarks.onChanged.removeListener(listener)
browser.bookmarks.onChanged.hasListener(listener)

事件包含以下三个函数:

addListener(listener)

添加一个监听器到该事件。

removeListener(listener)

停止监听该事件。listener 参数是要移除的监听器。

hasListener(listener)

检查 listener 是否已注册到该事件。如果正在监听,返回 true,否则返回 false

addListener 语法

参数

listener

事件发生时调用的函数。该函数接收以下参数:

id

string。发生更改的项目的 ID。

hangeInfo

object。包含两个属性的对象:包含项目标题的字符串 title 和包含项目 URL 的字符串 url。如果项目是文件夹,则省略 url

备注:当书签更改时,可能会发生多个事件,且 changeInfo 对象可能只包含已更改的数据,而不是书签的所有数据。换句话说,如果书签的 url 发生变化,则 changeInfo 可能只包含新的 url 信息。

示例

js
function handleChanged(id, changeInfo) {
  console.log(`项目:${id} 已更改`);
  console.log(`标题:${changeInfo.title}`);
  console.log(`URL: ${changeInfo.url}`);
}

function handleClick() {
  browser.bookmarks.onChanged.addListener(handleChanged);
}

browser.browserAction.onClicked.addListener(handleClick);

浏览器兼容性

BCD tables only load in the browser

备注:此 API 基于 Chromium 的 chrome.bookmarks API。该文档衍生自 Chromium 代码中的 bookmarks.json