Javascript 更改chrome扩展图标

Javascript 更改chrome扩展图标,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,Google Chrome,Google Chrome Extension,所以我知道如何更改扩展的图标- chrome.browserAction.setIcon({ path : "green.png" }); 但是我该怎么做才能让我不改变图标,而是在浏览器图标中添加一点图像呢?我真的不知道该怎么称呼它。。。它类似于扩展名“AdBlock”,其中有图标,然后在图标左下角有一个数字,告诉您有多少广告被阻止 对于我的扩展,我试图通过在扩展的浏览器图标上显示一个绿色/黄色/红色正方形来显示扩展的“状态” 我怎样才能做到这一点,比如说,图标左下角弹出一个绿色的正方

所以我知道如何更改扩展的图标-

chrome.browserAction.setIcon({
    path : "green.png"
});
但是我该怎么做才能让我不改变图标,而是在浏览器图标中添加一点图像呢?我真的不知道该怎么称呼它。。。它类似于扩展名“AdBlock”,其中有图标,然后在图标左下角有一个数字,告诉您有多少广告被阻止

对于我的扩展,我试图通过在扩展的浏览器图标上显示一个绿色/黄色/红色正方形来显示扩展的“状态”

我怎样才能做到这一点,比如说,图标左下角弹出一个绿色的正方形,类似于被阻止的广告数量?现在,我有3个不同的图像,我将图标更改为相应的图像,但我觉得有一种更直观的方法可以做到这一点

编辑:

所以我想出了这个代码,但是不管我做什么,徽章的颜色都保持红色-

chrome.browserAction.setBadgeText( { text: " " } );

function setIconStatus(status){
    if (status == 1){
        chrome.browserAction.setBadgeBackgroundColor({color:"green"})
    } else if (status == 0){
        chrome.browserAction.setBadgeBackgroundColor({color:"red"})
    } else {
        chrome.browserAction.setBadgeBackgroundColor({color:"yellow"})
    }
}
我得到了这个控制台错误-

Unchecked runtime.lastError while running browserAction.setBadgeBackgroundColor: Unknown error.
at setIconStatus (chrome-extension://blnceljpkdfniagjdagcnfeceanjcipe/rap.js:17:24)
at chrome-extension://blnceljpkdfniagjdagcnfeceanjcipe/rap.js:86:3reportIfUnchecked @ extensions::lastError:133handleResponse @ extensions::sendRequest:78

jquery.js:5 POST 500(内部服务器错误)x.support.cors.e.crossDomain.send@jquery.js:5x.extend.ajax@jquery.js:5x.(匿名函数)@jquery.js:5(匿名函数)@rap.js:116l@jquery.js:3k@jquery.js:5(匿名函数)@jquery.js:5

因为你只想让一个彩色框出现:

var status = " ";
chrome.browserAction.setBadgeText( { text: status } );
                                           // Red, Green, Blue, Alpha
chrome.browserAction.setBadgeBackgroundColor({color: [0,255,0,255]});

除此之外,您还可以使用html画布元素对图标图像进行动态更改。然后用编辑过的图像更新browseActionIcon。

因为您只想显示一个彩色框:

var status = " ";
chrome.browserAction.setBadgeText( { text: status } );
                                           // Red, Green, Blue, Alpha
chrome.browserAction.setBadgeBackgroundColor({color: [0,255,0,255]});
除此之外,您还可以使用html画布元素对图标图像进行动态更改。然后用编辑过的图像更新browseActionIcon。

现在, chrome.browserAction.setBadgeBackgroundColor(对象详细信息)不支持css样式的颜色关键字

如上所述,您可以使用十六进制RGB值或颜色数组。

目前, chrome.browserAction.setBadgeBackgroundColor(对象详细信息)不支持css样式的颜色关键字


如中所述,您可以使用十六进制RGB值或颜色数组。

请参阅我的编辑。谢谢你的回复,这就是我所需要的,但是还有一个问题,我真的不知道为什么会发生。当我没有使用数组颜色值时,我也遇到了类似的问题。您可以使用颜色值,例如{color:[0,0250250]}获得蓝色徽章或{color:[0250,0250]}获得绿色徽章。@nick Tsk Tsk在编辑过程中留下已知的错误代码。请参阅我的编辑。谢谢你的回复,这就是我所需要的,但是还有一个问题,我真的不知道为什么会发生。当我没有使用数组颜色值时,我也遇到了类似的问题。您可以使用颜色值,例如{color:[0,0250250]}获得蓝色徽章,或{color:[0250,0250]}获得绿色徽章。@nick Tsk Tsk在编辑过程中留下已知的错误代码。