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