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

参数

listener

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

details

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

浏览器兼容性

BCD 表仅在浏览器中加载

示例

侦听 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