是否允许在chrome扩展中使用window.postMessage()?

时间:2016-11-17 14:32:47

标签: javascript google-chrome google-chrome-extension

我已完成Chrome和FireFox(WebExtensions)的扩展程序编码。我已经使用window.postMessage()来进行网站脚本和扩展之间的通信,一切正常。

但现在我正在阅读Chrome(https://developer.chrome.com/extensions/messaging)的方法,例如chrome.runtime.sendMessage()来发送消息。如果我使用window.postMessage(),我的扩展会被拒绝,所以我必须重新编码所有内容吗?

1 个答案:

答案 0 :(得分:5)

是的,这是一种非常有效的通信方式 - 在页面和内容脚本之间。

事实上,如果您查看Content Script documentation,它会将postMessage列为与内容脚本进行通信的方式。

方法described at the Messaging documentation允许将内容脚本剪切为中间人,并为邮件提供一定程度的身份验证(只有被入侵的收件人才会收到它们),并为您配置"externally_connectable"

但Firefox中不支持"externally_connectable",我无法快速找到跟踪其实施情况的错误。