我正在撰写Chrome扩展程序,在其中一部分,当弹出页面上的按钮被点击时,我需要获取当前选项卡的标题和URL。
我之前已经和Chrome的消息传递系统一起工作了,并且经过许多努力,已经设法让它在许多场合工作。不过,我从来没有用弹出页面使用它们,而且从我所看到的这一点来说,更难做到。
到目前为止我已经设想的时间表是这样的:
> popup.html / popup.js:点击按钮
> popup.html / popup.js:请求/消息发送到内容脚本
> contentScript.js:从弹出页面收到请求/消息
> contentScript.js:当前选项卡的标题和URL存储在一个变量中
> contentScript.js:2个变量作为字符串响应发送
> popup.html / popup.js:2个变量从响应中解析出来
通常我可以弄清楚这一点,但是我已经阅读了一些在作品中抛出了一些扳手,例如:
> chrome.tabs.getSelected只能在后台页面/脚本中使用。这是否意味着内容脚本根本不需要使用?
>消息不能直接从内容脚本发送到弹出页面,他们必须通过背景页面进行
>一个弹出窗口必须被确认为现有的消息可以传递给它(虽然,我想我知道如何做到这一点)
我已经发现Chrome的消息传递系统很困难,但这完全让我感到困惑。因此,这篇文章。