action.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.
Note: This API is available in Manifest V3 or higher.
In Firefox, unless the badge text color is explicitly set using action.setBadgeTextColor()
, then the badge text color iw automatically set to black or white 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 is 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.action.setBadgeBackgroundColor(
details // object
)
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
object.action.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 window.
- 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.
Examples
A background color that starts off as red, and turns green when the browser action is clicked:
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });
browser.action.onClicked.addListener(() => {
browser.action.setBadgeBackgroundColor({ color: "green" });
});
Set the badge background color only for the active tab:
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });
browser.action.onClicked.addListener((tab) => {
browser.action.setBadgeBackgroundColor({
color: "green",
tabId: tab.id,
});
});
Browser compatibility
BCD tables only load in the browser
The default color in Firefox is: [217, 0, 0, 255]
.
Note: This API is based on Chromium's chrome.action
API. This documentation is derived from browser_action.json
in the Chromium code.