action.setBadgeBackgroundColor()
設定徽章的背景顏色。沒有特定徽章背景顏色的標籤頁將繼承全域性徽章背景顏色,在 Firefox 中預設為 [217, 0, 0, 255]。
注意:此 API 在 Manifest V3 或更高版本中可用。
在 Firefox 中,除非使用 action.setBadgeTextColor() 顯式設定徽章文字顏色,否則徽章文字顏色將自動設定為黑色或白色,以最大限度地提高與指定徽章背景顏色的對比度。例如,如果您將徽章背景顏色設定為白色,則預設徽章文字顏色將設定為黑色,反之亦然。
其他瀏覽器始終使用白色文字顏色,因此選擇深色背景可能更佳,以確保文字可讀。
語法
js
browser.action.setBadgeBackgroundColor(
details // object
)
引數
details-
具有以下屬性的物件:
color-
顏色,指定為以下之一:
- 一個字串:任何 CSS <color> 值,例如
"red"、"#FF0000"或"rgb(255 0 0)"。如果字串不是有效的顏色,返回的 Promise 將被拒絕,並且背景顏色不會被更改。 - 一個
action.ColorArray物件。 null。如果指定了tabId,則會移除特定於標籤頁的徽章背景顏色,以便該標籤頁繼承全域性徽章背景顏色。否則,它會將全域性徽章背景顏色恢復到預設值。
Firefox 中的預設顏色是:
[217, 0, 0, 255]。 - 一個字串:任何 CSS <color> 值,例如
tabId可選-
integer。僅為給定的標籤頁設定徽章背景顏色。當用戶將該標籤頁導航到新頁面時,顏色將被重置。 windowId可選-
integer。僅為給定的視窗設定徽章背景顏色。
- 如果同時提供了
windowId和tabId,則函式將失敗,顏色不會被設定。 - 如果同時省略了
windowId和tabId,則會設定全域性徽章背景顏色。
示例
一個背景顏色,最初是紅色,當瀏覽器操作被點選時變為綠色。
js
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });
browser.action.onClicked.addListener(() => {
browser.action.setBadgeBackgroundColor({ color: "green" });
});
僅為活動標籤頁設定徽章背景顏色。
js
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeBackgroundColor({ color: "red" });
browser.action.onClicked.addListener((tab) => {
browser.action.setBadgeBackgroundColor({
color: "green",
tabId: tab.id,
});
});
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.action API。此文件源自 Chromium 程式碼中的 browser_action.json。