javascript – chrome内容脚本:window.postMessage()“message”事件不包含“source”属性

我正在构建一个chrome扩展,它将一个内容脚本添加到一个站点(让我们称之为主机).内容脚本在主机中创建一个iframe,该iframe通向我的域(跨域).

我可以通过parent.postMessage()将iframe中的消息发送到主机.但是,收到的“消息”事件不包含“源”属性,该属性阻止我将消息传回给孩子.

UPDATE
我正在寻找客户端解决方案或解释此行为.

最佳答案 你必须以困难的方式去做.

在执行iframe时,请在网址中发送唯一的安装ID.

例如
http://www.trackingdomain.tld/trackingscript.php?uid=38736238

然后让你的脚本从你的域中每隔1000毫秒用同一个uid拉回一个JSON脚本回复来获取返回的消息.

您也可以使用json发送消息.

但是这个解决方案意味着你将被迫使用服务器端脚本.

点赞