Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md
6552 views
---
title: runtime.onInstalled slug: Mozilla/Add-ons/WebExtensions/API/runtime/onInstalled page-type: webextension-api-event tags: - API - Add-ons - Event - Extensions - Non-standard - Reference - WebExtensions - onInstalled - runtime browser-compat: webextensions.api.runtime.onInstalled
---

{{AddonSidebar()}}

Fired when the extension is first installed, when the extension is updated to a new version, and when the browser is updated to a new version.

Note that runtime.onInstalled is not the same as {{WebExtAPIRef("management.onInstalled")}}. The runtime.onInstalled event is fired only for your extension. The browser.management.onInstalled event is fired for any extensions.

Syntax

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

Events have three functions:

  • addListener(callback)

    • : Adds a listener to this event.

  • removeListener(listener)

    • : Stop listening to this event. The listener argument is the listener to remove.

  • hasListener(listener)

    • : Checks whether a listener is registered for this event. Returns true if it is listening, false otherwise.

addListener syntax

Parameters

  • function

    • : The callback function called when this event occurs. The function will be passed the following arguments:

      • details

        • : An object with the following properties:

          • id {{optional_inline}}

            • : string. The ID of the imported shared module extension that updated. This is present only if the reason value is shared_module_update.

          • previousVersion {{optional_inline}}

            • : string. The previous version of the extension just updated. This is only present if the reason value is update.

          • reason

            • : An {{WebExtAPIRef('runtime.OnInstalledReason')}} value, stating the reason that this event is being dispatched.

          • temporary

            • : boolean. True if the add-on was installed temporarily. For example, using the "about:debugging" page in Firefox or using web-ext run. False otherwise.

Browser compatibility

{{Compat}}

Examples

When the extension is installed, log the install reason and open https://example.com:

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

{{WebExtExamples}}

Note: This API is based on Chromium's chrome.runtime API. This documentation is derived from runtime.json in the Chromium code.