extension

Utilities related to your extension. Get URLs to resources packages with your extension. Get the Window object for your extension's pages. Get the values for various settings.

Note: The messaging APIs in this module are deprecated in favor of the equivalent APIs in the runtime module.

Types

extension.ViewType
The type of extension view.

Properties

extension.lastError
Set for the lifetime of a callback if an asynchronous extension API has resulted in an error. If no error has occurred, lastError will be undefined.
extension.inIncognitoContext
True for content scripts running inside incognito tabs, and for extension pages running inside an incognito process. (The latter only applies to extensions with 'split' incognito_behavior.)

Functions

extension.getBackgroundPage()
Returns the Window object for the background page running inside the current extension. Returns null if the extension has no background page.
extension.getExtensionTabs()
Returns an array of the JavaScript Window objects for each of the tabs running inside the current extension.
extension.getURL()
Converts a relative path within an extension install directory to a fully-qualified URL.
extension.getViews()
Returns an array of the Window objects for each of the pages running inside the current extension.
extension.isAllowedIncognitoAccess()
Retrieves the state of the extension's access to Incognito-mode (as determined by the user-controlled 'Allowed in Incognito' checkbox).
extension.isAllowedFileSchemeAccess()
Retrieves the state of the extension's access to the file:// scheme (as determined by the user-controlled 'Allow access to File URLs' checkbox).
extension.sendRequest()
Sends a single request to other listeners within the extension.
extension.setUpdateUrlData()
Sets the value of the ap CGI parameter used in the extension's update URL. This value is ignored for extensions that are hosted in the browser vendor's store.

Events

extension.onRequest
Fired when a request is sent from either an extension process or a content script.
extension.onRequestExternal
Fired when a request is sent from another extension.

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
ViewType
Yes
79
45
?
Yes
14
?
?
48
?
?
?
getBackgroundPage
Yes
14
45
?
Yes
14
?
?
48
?
?
?
getExtensionTabs
Yes
79
No
?
No
No
?
?
No
?
?
?
getURL
Yes
14
45
?
Yes
14
?
?
48
?
?
?
getViews
Yes
14
45
If this is called from a page that is part of a private browsing window, such as a sidebar in a private window or a popup opened from a private window, then its return value will not include the extension's background page.
?
Yes
14
?
?
48
If this is called from a page that is part of a private browsing window, such as a sidebar in a private window or a popup opened from a private window, then its return value will not include the extension's background page.
?
?
?
inIncognitoContext
Yes
17
45
?
Yes
14
Always returns false.
?
?
48
?
?
?
isAllowedFileSchemeAccess
Yes
79
48
?
Yes
14
Always returns false.
?
?
48
?
?
?
isAllowedIncognitoAccess
Yes
17
48
?
Yes
14
Always returns true.
?
?
48
?
?
?
lastError
Yes
79
47
?
Yes
No
?
?
48
?
?
?
onRequest
Yes
79
No
?
Yes
No
?
?
No
?
?
?
onRequestExternal
Yes
79
No
?
Yes
No
?
?
No
?
?
?
sendRequest
Yes
79
No
?
No
No
?
?
No
?
?
?
setUpdateUrlData
Yes
79
No
?
Yes
No
?
?
No
?
?
?

Example extensions

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

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/extension