我已完成Chrome和FireFox(WebExtensions)的扩展程序编码。我已经使用window.postMessage()来进行网站脚本和扩展之间的通信,一切正常。
但现在我正在阅读Chrome(https://developer.chrome.com/extensions/messaging)的方法,例如chrome.runtime.sendMessage()
来发送消息。如果我使用window.postMessage(),我的扩展会被拒绝,所以我必须重新编码所有内容吗?
答案 0 :(得分:5)
是的,这是一种非常有效的通信方式 - 在页面和内容脚本之间。
事实上,如果您查看Content Script documentation,它会将postMessage
列为与内容脚本进行通信的方式。
方法described at the Messaging documentation允许将内容脚本剪切为中间人,并为邮件提供一定程度的身份验证(只有被入侵的收件人才会收到它们),并为您配置"externally_connectable"
。
但Firefox中不支持"externally_connectable"
,我无法快速找到跟踪其实施情况的错误。