runtime.onInstalled

当扩展首次安装、扩展更新到新版本或浏览器更新到新版本时触发。

请注意,runtime.onInstalledmanagement.onInstalled 不同。runtime.onInstalled 事件仅针对您的扩展触发。browser.management.onInstalled 事件则针对所有扩展触发。

语法

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

事件有三个函数

addListener(listener)

向此事件添加监听器。

removeListener(listener)

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

hasListener(listener)

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

addListener 语法

参数

function

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

details

具有以下属性的对象:

id 可选

string。已更新的导入的共享模块扩展的 ID。仅当 reason 的值为 shared_module_update 时才存在。

previousVersion 可选

string。刚刚更新的扩展的先前版本。仅当 reason 的值为 update 时才存在。

reason

一个 runtime.OnInstalledReason 值,说明分派此事件的原因。

temporary

boolean。如果附加组件是临时安装的,则为 true。例如,使用 Firefox 中的“about:debugging”页面或使用 web-ext run。否则为 false。

示例

安装扩展时,记录安装原因并打开 https://example.com

js
function handleInstalled(details) {
  console.log(details.reason);
  browser.tabs.create({
    url: "https://example.com",
  });
}

browser.runtime.onInstalled.addListener(handleInstalled);

扩展程序示例

浏览器兼容性

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