action.setBadgeBackgroundColor()
Устанавливает цвет фона для значка. Вкладки без заданного цвета фона значка унаследуют глобальный цвет фона значка, который по умолчанию равен [217, 0, 0, 255] в Firefox.
Примечание: Этот API доступен в Manifest V3 или выше.
В Firefox, если цвет текста значка не задан явно с помощью action.setBadgeTextColor(), тогда цвет текста значка автоматически устанавливается в черный или белый для максимального контраста с заданным цветом фона значка. Например, если вы установите цвет фона значка в белый, то цвет текста значка по умолчанию будет черным, и наоборот.
В других браузерах всегда используется белый цвет текста, поэтому для обеспечения читаемости текста предпочтительно устанавливать тёмный фон.
Синтаксис
browser.action.setBadgeBackgroundColor( details // object )
Параметры
details-
Объект со следующими свойствами:
color-
Цвет, заданный как один из:
- строка: любое значение CSS <цвет>, например
"red","#FF0000", или"rgb(255,0,0)". Если строка не является допустимым цветом, возвращённое обещание будет отклонено, и цвет фона не будет изменён. - объект
.action.ColorArray -
null. Если заданtabId, это удаляет специфичный для вкладки цвет фона значка, так что вкладка наследует глобальный цвет фона значка. В противном случае это восстановит глобальный цвет фона значка до значения по умолчанию.
- строка: любое значение CSS <цвет>, например
-
tabIdНеобязательно -
integer. Устанавливает цвет фона значка только для данной вкладки. Цвет сбрасывается, когда пользователь переходит по этой вкладке на новую страницу. -
windowIdНеобязательно -
integer. Устанавливает цвет фона значка только для данной вкладки.
- Если
windowIdиtabIdзаданы оба, функция завершается ошибкой, и цвет не устанавливается. - Если
windowIdиtabIdоба пропущены, устанавливается глобальный цвет фона значка.
Примеры
Цвет фона, который изначально красный, и становится зелёным при нажатии на действие расширения:
browser.action.setBadgeText({ text: "1234" }); browser.action.setBadgeBackgroundColor({ color: "red" }); browser.action.onClicked.addListener(() => { browser.action.setBadgeBackgroundColor({ color: "green" }); });
Установить цвет фона значка только для активной вкладки:
browser.action.setBadgeText({ text: "1234" }); browser.action.setBadgeBackgroundColor({ color: "red" }); browser.action.onClicked.addListener((tab) => { browser.action.setBadgeBackgroundColor({ color: "green", tabId: tab.id, }); });
Совместимость с браузерами
| Рабочий стол | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
setBadgeBackgroundColor |
88 | 88 | 109 | ? | 74 | Нет | ? | ? | 109 | ? | Нет | ? |
Цвет по умолчанию в Firefox: [217, 0, 0, 255].
Примечание: Этот API основан на API chrome.action Chromium. Данная документация получена из browser_action.json кода Chromium.
© 2005–2023 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/action/setBadgeBackgroundColor