首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改铬扩展图标

更改铬扩展图标
EN

Stack Overflow用户
提问于 2016-03-07 19:50:43
回答 3查看 3.2K关注 0票数 1

所以我知道怎么换分机的图标-

代码语言:javascript
运行
复制
chrome.browserAction.setIcon({
    path : "green.png"
});

但是,我怎样才能做到不改变图标,而是在浏览器中添加一个小图像呢?我真的不知道该怎么称呼它。它类似于扩展"AdBlock“,其中它有它的图标,然后一个数字在左下角图标告诉你有多少广告被屏蔽。

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

我如何做到,比如说,在图标左下角弹出一个绿色方块,类似于被屏蔽的广告数量?现在,我有3种不同的图像,我将图标更改为相应的图像,但我觉得有一种更直观的方法来做到这一点。

编辑:

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

代码语言:javascript
运行
复制
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"})
    }
}

我发现控制台出了问题-

代码语言:javascript
运行
复制
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 https://shibboleth.buffalo.edu/idp/Authn/Stateless 500 (内部服务器错误)x.support.cors.e.crossDomain.send@ jquery.js:5x.extend.ajax @jquery.js:5x(匿名函数)@ jquery.js:5 (匿名函数)@ rap.js:116l @ jquery.js:3c.fireWith @ jquery.js:3k @jquery.js:5(匿名函数)@jquery.js:5

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-07 20:19:44

因为您只是希望出现一个有色的框:

代码语言:javascript
运行
复制
var status = " ";
chrome.browserAction.setBadgeText( { text: status } );
                                           // Red, Green, Blue, Alpha
chrome.browserAction.setBadgeBackgroundColor({color: [0,255,0,255]});

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

票数 9
EN

Stack Overflow用户

发布于 2016-03-09 01:16:24

目前,chrome.browserAction.setBadgeBackgroundColor(object细节)不支持css样式颜色关键字。

https://developer.chrome.com/extensions/browserAction#method-setBadgeBackgroundColor所述,您可以使用十六进制RGB值或颜色数组。

票数 2
EN

Stack Overflow用户

发布于 2022-01-24 15:14:10

注意:如果您使用的是V3,则该API已更改为:

  • "chrome.pageAction.setIcon()“
  • "chrome.browserAction.setIcon()“

..。统一 ..。

  • "chrome.action.setIcon()“

参考文献:Migrating to Manifest V3 (MV3) >> Action API unification

如果尝试将pageActionbrowserAction与MV3一起使用,您将收到以下错误:

代码语言:javascript
运行
复制
Error handling response: TypeError: Cannot read properties of undefined (reading 'setIcon')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35852715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档