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。如果附加组件是临时安装的,则为真。例如,使用 Firefox 中的“about:debugging”页面或使用 web-ext run。否则为假。

浏览器兼容性

BCD 表仅在浏览器中加载

示例

当扩展安装时,记录安装原因并打开 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