我写了一个内容脚本,将iframe注入任何网站(因此不同的域).
我需要父网站向子iframe发送一些信息,但我找不到办法.
代码
var targetFrame = $('#myIframe')[0]; targetFrame.contentWindow.postMessage('the message','*');
以某种方式不起作用,我得到一个无法调用未定义错误的方法’postMessage’.
但是当我在Chrome的控制台中直接尝试相同的代码时,它确实有用.
我将postMessage从子节点发送到父节点没有问题,但只需要一种方法让父节点向子节点iframe发送消息.
解决方法
我最近编写了将postMessage作为iframe的代码,我遇到了一个类似的问题,它说contentWindow是未定义的.
就我而言,我的iframe还不是DOM树的一部分,它是由document.createElement(‘iframe’)创建的变量.
一旦我将它隐藏(宽度和高度0px,隐藏可见性)到页面正文中,contentWindow就不再是未定义的,一切都按预期工作.
当我处理项目时,我发现postMessage的Mozilla Developer Network页非常有用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。