3

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

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

我知道使用 pageAction 可以解决问题,但我的客户要求是工具栏图标应该更改而不是出现和消失。

4

1 回答 1

5

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

于 2012-06-22T11:32:30.270 回答