Да, вы можете изменить цвет значка в зависимости от значения в нем.
Поскольку вы устанавливаете значение значка, у вас уже есть значение, и вы можете динамически определять, какой цвет использовать.
После этого вы можете использовать browserAction.setBadgeBackgroundColor для установки цвета.
// First, define badge colors with the minimum threshold.
// For the sake of simplicity, keep the minimums in order.
const badge_colors = [
{min: 0, color: [255, 255, 0, 255] },
{min: 11, color: [255, 255, 0, 255] },
{min: 200, color: [255, 255, 0, 255] }
];
const badge_counter = 34; // This should already be avaliable, but can also be fetched using browserAction.getBadgeText()
const new_badge_color = badge_colors.reverse() // Reverse the list so the min is in descending order
.find(color=>color.min < badge_counter) // Find the first minimum value that is less than the badge counter.
// new_badge_color is now
// {min: 11, color: [255, 255, 0, 255] }
Как только у вас появится новый цвет, вы можете установить цвет с помощью setBadgeBackgroundColor