runtime.onUpdateAvailable

当扩展程序有可用更新时触发。此事件允许扩展程序延迟更新:例如,因为它正处于不应中断的某个操作的中间。

如果扩展程序在有可用更新时未监听此事件,则扩展程序会立即重新加载并应用更新。如果扩展程序正在监听,则在下次重新加载扩展程序时将应用更新。这发生在以下情况:

  • 浏览器重启
  • 扩展程序被禁用然后重新启用
  • 扩展程序通过调用 runtime.reload() 显式重新加载自身。

语法

js
browser.runtime.onUpdateAvailable.addListener()
browser.runtime.onUpdateAvailable.removeListener(listener)
browser.runtime.onUpdateAvailable.hasListener(listener)

事件有三个函数

addListener(listener)

向此事件添加监听器。

removeListener(listener)

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

hasListener(listener)

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

addListener 语法

参数

监听器

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

details

object。包含一个名为 version 的单个属性,该属性是字符串,表示更新的版本号。

示例

监听 UpdateAvailable 事件

js
function handleUpdateAvailable(details) {
  console.log(details.version);
  // Proceed to upgrade the add-on
  browser.runtime.reload();
}

browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable);

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.runtime API。本文档来源于 Chromium 代码中的 runtime.json