action.setBadgeTextColor()

设置浏览器操作的徽章文本颜色。未指定徽章文本颜色的标签页将继承全局徽章文本颜色。

备注:该 API 在 Manifest V3 或更高版本中可用。

语法

js
browser.action.setBadgeTextColor(
  details // 对象
)

参数

details

一个含有下列属性的对象:

color

颜色,指定为一下之一:

  • 字符串:任意 CSS <color> 值,例如 "red""#FF0000""rgb(255 0 0)"。若字符串不是一个正确的颜色,则 Promise 会被拒绝且背景颜色不会被更改。
  • action.ColorArray 对象。
  • null,若指定了 tabId,则会移除该标签页的徽章文本颜色,让标签页继承全局徽章文本颜色;反之,会撤销对全局徽章文本颜色的修改使之变回默认取值。
tabId 可选

integer,指定要设置徽章文本颜色的标签页。当用户导航到新页面的时候,文本颜色将被重置。

windowId 可选

integer,指定要设置徽章文本颜色的窗口。

  • 若同时指定了 windowIdtabId,则函数出错且颜色不会被设置。
  • 若同时未指定 windowIdtabId,则将设置全局徽章文本颜色。

示例

徽章文本颜色最初设置为红色,并且当浏览器操作被单击时变为绿色:

js
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeTextColor({ color: "red" });

browser.action.onClicked.addListener(() => {
  browser.action.setBadgeTextColor({ color: "green" });
});

仅为活动标签页设置徽章文本颜色:

js
browser.action.setBadgeText({ text: "1234" });
browser.action.setBadgeTextColor({ color: "red" });

browser.action.onClicked.addListener((tab) => {
  browser.action.setBadgeTextColor({
    color: "green",
    tabId: tab.id,
  });
});

浏览器兼容性

BCD tables only load in the browser

备注:该 API 基于 Chromium 的 chrome.action API。本文衍生自 Chromium 代码中的 browser_action.json