在Chrome扩展弹出窗口和嵌入在该弹出窗口中的iFrame之间进行通信

时间:2017-11-07 22:49:41

标签: google-chrome google-chrome-extension messaging

我的Chrome扩展程序弹出窗口中嵌入了一个iFrame,其中显示了我可以控制的网页。我能够使用来自我的嵌入式网站的sendMessage和我的弹出脚本中的onMessageExternal将数据从iFrame发送到Chrome弹出脚本,但我还想以相反的方式发送数据(例如扩展名ID - 我不能在iframe中访问此值)。

我已经阅读了一些方法,例如使用HTML5中提供的window.postMessage()函数,并调查了所讨论的方法here,虽然我不确定第二种方法是否适用于我想要的上下文如果我要使用postMessage,我将无法确认消息是由我的扩展程序发送的,因为除非我硬编码我的插件ID,否则我没有域可以检查,我想避免。

还有其他方法可以做我想做的事情,还是postMessage是最好的方法?我想避免查询字符串使得向我的网页发送非法请求更加困难。我没有对敏感数据做任何事情,我只是使用数据来改变网页的行为,具体取决于它是在扩展中运行还是在浏览器中本机运行,并使用扩展ID进行日志记录。

0 个答案:

没有答案