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

Jul*_* S. 3 javascript google-chrome google-chrome-extension

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

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

Xan*_*Xan 5

是的,这是一种完全有效的通信方式 - 页面和内容脚本之间.

实际上,如果您查看内容脚本文档,它会postMessage列为与内容脚本进行通信的一种方式.

Messaging文档中描述的方法允许将内容脚本剪切为中间人,并为您提供配置后,为邮件提供一定程度的身份验证(只有入门的收件人才会收到它们)"externally_connectable".

但是"externally_connectable"Firefox尚不支持,我无法快速找到跟踪其实现的错误.