Adds a button to the browser's toolbar.
A browser action is a button in the browser's toolbar.
You can associate a popup with the button. The popup is specified using HTML, CSS and JavaScript, just like a normal web page. JavaScript running in the popup gets access to all the same WebExtension APIs as your background scripts, but its global context is the popup, not the current page displayed in the browser. To affect web pages you need to communicate with them via messages.
If you specify a popup, it will be shown — and the content will be loaded — when the user clicks the icon. If you do not specify a popup, then when the user clicks the icon an event is dispatched to your extension.
You can define most of a browser action's properties declaratively using the browser_action
key in the manifest.json.
With the browserAction
API, you can:
browserAction.onClicked
to listen for clicks on the icon.browserAction.ColorArray
browserAction.ImageDataType
ImageData
object (for example, from a <canvas>
element).browserAction.setTitle()
browserAction.getTitle()
browserAction.setIcon()
browserAction.setPopup()
browserAction.getPopup()
browserAction.openPopup()
browserAction.setBadgeText()
browserAction.getBadgeText()
browserAction.setBadgeBackgroundColor()
browserAction.getBadgeBackgroundColor()
browserAction.setBadgeTextColor()
browserAction.getBadgeTextColor()
browserAction.enable()
browserAction.disable()
browserAction.isEnabled()
browserAction.onClicked
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
ColorArray |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
ImageDataType |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
disable |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
enable |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
getBadgeBackgroundColor |
Yes |
14 |
45 |
? |
Yes |
14
Always returns a red
ColorArray . |
? |
? |
79 |
? |
? |
? |
getBadgeText |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
getBadgeTextColor |
No |
No |
63 |
? |
No |
No |
? |
? |
79 |
? |
? |
? |
getPopup |
Yes |
79 |
45 |
? |
Yes |
14 |
? |
? |
57 |
? |
? |
? |
getTitle |
Yes |
15 |
45 |
? |
Yes |
14 |
? |
? |
55 |
? |
? |
? |
isEnabled |
No |
No |
59 |
? |
No |
No |
? |
? |
79 |
? |
? |
? |
onClicked |
Yes |
14 |
45 |
? |
Yes |
14 |
? |
? |
55 |
? |
? |
? |
openPopup |
67 |
79 |
57 |
? |
No |
No |
? |
? |
79 |
? |
? |
? |
setBadgeBackgroundColor |
Yes |
14 |
45
45-58
Tab-specific badge background color is not cleared when a new page is loaded.
|
? |
Yes |
14
The API exists, but has no effect.
|
? |
? |
79 |
? |
? |
? |
setBadgeText |
Yes |
14 |
45
45-58
Tab-specific badge text is not cleared when a new page is loaded.
|
? |
Yes |
14 |
? |
? |
79 |
? |
? |
? |
setBadgeTextColor |
No |
No |
63 |
? |
No |
No |
? |
? |
79 |
? |
? |
? |
setIcon |
Yes
Before Chrome 23, `path` couldn't specify multiple icon files, but had to be a string specifying a single icon path.
|
14
["This call is not persisted.", "The
imageData parameter is not accepted.", "The path parameter is required."] |
45
45-58
Tab-specific icons are not cleared when a new page is loaded.
|
? |
15 |
14 |
? |
? |
79 |
? |
? |
? |
setPopup |
Yes |
14 |
45
45-58
Tab-specific popups are not cleared when a new page is loaded.
|
? |
Yes |
14 |
? |
? |
57
57-58
Tab-specific popups are not cleared when a new page is loaded.
|
? |
? |
? |
setTitle |
Yes |
15 |
45
45-58
Tab-specific titles are not cleared when a new page is loaded.
|
? |
Yes |
14 |
? |
? |
55
55-58
Tab-specific titles are not cleared when a new page is loaded.
|
? |
? |
? |
Note: This API is based on Chromium's chrome.browserAction
API. This documentation is derived from browser_action.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/browserAction