browserAction.setBadgeBackgroundColor()
Sets the background color for the badge. Tabs without a specific badge background color will inherit the global badge background color, which defaults to [217, 0, 0, 255]
in Firefox.
From Firefox 63, unless the badge text color is explicitly set using browserAction.setBadgeTextColor()
, then the badge text color will be automatically set to black or white so as to maximize contrast with the specified badge background color. For example, if you set the badge background color to white, the default badge text color will be set to black, and vice versa.
Other browsers always use a white text color, so setting a dark background may be preferable to ensure the text is readable.
Syntax
browser.browserAction.setBadgeBackgroundColor( details // object )
Parameters
details
-
object
.color
- The color, specified as one of:
-
- a string: any CSS <color> value, for example
"red"
,"#FF0000"
, or"rgb(255,0,0)"
. If the string is not a valid color, the returned promise will be rejected and the background color won't be altered. - a
object.browserAction.ColorArray
-
null
. If atabId
is specified, it removes the tab-specific badge background color so that the tab inherits the global badge background color. Otherwise it reverts the global badge background color to the default value.
- a string: any CSS <color> value, for example
-
tabId
Optional -
integer
. Sets the badge background color only for the given tab. The color is reset when the user navigates this tab to a new page. -
windowId
Optional -
integer
. Sets the badge background color only for the given tab.
- If
windowId
andtabId
are both supplied, the function fails and the color is not set. - If
windowId
andtabId
are both omitted, the global badge background color is set instead.
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 | |
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 |
? |
? |
? |
null |
No |
No |
59 |
? |
No |
No |
? |
? |
79 |
? |
? |
? |
string |
Yes |
79 |
Yes
Before Firefox 59, invalid color strings behaved as
null . |
? |
Yes |
No |
? |
? |
79 |
? |
? |
? |
The default color in Firefox is: [217, 0, 0, 255]
.
Examples
A background color that starts off as red, and turns green when the browser action is clicked:
browser.browserAction.setBadgeText({text: "1234"}); browser.browserAction.setBadgeBackgroundColor({color: "red"}); browser.browserAction.onClicked.addListener(()=> { browser.browserAction.setBadgeBackgroundColor({color: "green"}); });
Set the badge background color only for the active tab:
browser.browserAction.setBadgeText({text: "1234"}); browser.browserAction.setBadgeBackgroundColor({color: "red"}); browser.browserAction.onClicked.addListener((tab)=> { browser.browserAction.setBadgeBackgroundColor({ color: "green", tabId: tab.id }); });
Example extensions
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/setBadgeBackgroundColor