我正在制作Google Chrome扩展程序,以便为不同的网址(标签)提供特定信息(通过服务器端的ajax)。
我在chrome.tabs.onUpdated
中使用chrome.tabs.onActivated
和background.js
事件侦听器来检测活动标签的网址是否已更改,然后发送ajax请求以使用{{1更改图标}}。 (是的,我想使用browser action代替page action,因为我想在弹出页面中显示扩展的一些总体信息,例如Adblock Plus确实如此)
然而,我无法弄清楚的是:
chrome.browserAction.setIcon
和chrome.tabs.sendMessage()
在后台和内容脚本之间进行通信,但是如何在前者和弹出脚本之间进行通信?我无法看到我需要内容脚本来修改页面内容。 有什么想法吗?提前致谢!
答案 0 :(得分:2)
对于问题#1,由于后台页面和弹出页面都在扩展过程中,它们可以直接相互通信,如设置变量或调用函数。您可以查看以下两篇文章:
关于问题#2,
persistent: true
中设置manifest.json
,它将确保后台页面贯穿整个延长生命。