从内容脚本中调用chrome.browserAction.setIcon,就像在后台脚本中完成一样

Hai*_*der 2 google-chrome-extension

我正在为chrome做扩展.它从网页获取数据并通过本地电子邮件客户端发送电子邮件.我有一个工具栏按钮,用户必须单击该按钮才能调用脚本.

我的脚本适用于一些选定的网址.我希望我的工具栏按钮根据我们列表中的URL是否更改图标.例如,对于site1,它应该是redicon.png,对于site2,它应该是blueicon.png.我可以使用chrome.browserAction.setIcon更改按钮图标.但问题是此API在内容脚本中不起作用.它在background.js文件中工作正常,但在content.js中没有.请告诉我如何实现这一目标.

我知道使用pageAction可以做到这一点,但我的客户端要求是工具栏图标应该更改而不是显示和消失.

Kon*_*nel 5

你需要阅读的是消息传递.你是对的,内容脚本有限的chrome API.但是,您可以从内容脚本联系背景页面,并告诉它为您执行chrome API的任何操作.首先,您需要在后台页面上创建一个等待消息的侦听器,然后从内容脚本发送消息.