theme.onUpdated

当以浏览器扩展形式提供的外观被应用或移除时触发。具体来说:

此事件不会因内置外观的更改而触发。

语法

js
browser.theme.onUpdated.addListener(listener)
browser.theme.onUpdated.removeListener(listener)
browser.theme.onUpdated.hasListener(listener)

事件有三个函数

addListener(listener)

向此事件添加监听器。

removeListener(listener)

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

hasListener(listener)

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

addListener 语法

参数

监听器

此事件发生时调用的函数。该函数会传递以下参数:

updateInfo

object。一个包含两个属性的对象。

theme

object。如果事件因扩展提供的外观被移除而触发,则为空对象。如果事件因扩展提供的外观被应用而触发,则为一个表示已应用外观的 theme.Theme 对象。

windowId 可选

integer。外观更新所在的窗口 ID。如果此属性不存在,则表示外观在所有窗口中都已更新。

示例

js
function handleUpdated(updateInfo) {
  if (updateInfo.theme.colors) {
    console.log(`Theme was applied: ${updateInfo.theme}`);
  } else {
    console.log(`Theme was removed`);
  }
}

browser.theme.onUpdated.addListener(handleUpdated);

扩展程序示例

浏览器兼容性