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 语法

参数

listener

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

updateInfo

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

theme

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

windowId 可选

integer。更新主题的窗口的 ID。如果此属性不存在,则主题在所有窗口中更新。

示例

js
function handleUpdated(updateInfo) {
  if (updateInfo.theme.colors) {
    console.log(`主题被应用:${updateInfo.theme}`);
  } else {
    console.log(`主题被移除`);
  }
}

browser.theme.onUpdated.addListener(handleUpdated);

示例扩展

浏览器兼容性

BCD tables only load in the browser