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
)
Parameters
-
details
-
An object with the following properties:
-
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
browserAction.ColorArray
object.
null
. If a tabId
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.
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
and tabId
are both supplied, the function fails and the color is not set.
- If
windowId
and tabId
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–58Tab-specific badge background color is not cleared when a new page is loaded.
|
? |
Yes |
14The API exists, but has no effect.
|
? |
? |
79 |
? |
15The API exists, but has no effect.
|
? |
details_windowId_parameter |
No |
No |
62 |
? |
No |
No |
? |
? |
No |
? |
No |
? |
null |
No |
No |
59 |
? |
No |
No |
? |
? |
79 |
? |
No |
? |
string |
Yes |
79 |
YesBefore Firefox 59, invalid color strings behaved as null .
|
? |
Yes |
No |
? |
? |
79 |
? |
No |
? |
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,
});
});