Dra*_*aco 7 javascript html5 postmessage cross-browser
我写了一个内容脚本,将iframe注入任何网站(因此不同的域).
我需要父网站向子iframe发送一些信息,但我找不到办法.
代码
var targetFrame = $('#myIframe')[0];
targetFrame.contentWindow.postMessage('the message', '*');
以某种方式不起作用,我得到一个Cannot call method 'postMessage' of undefined错误.但是当我在Chrome的控制台中直接尝试相同的代码时,它确实有用.
我将postMessage从子节点发送到父节点没有问题,但只需要一种方法让父节点向子节点iframe发送消息.
我已经成功使用以下库:
它不需要任何 flash/silverlight,只需要 javascript。并且它最早兼容 IE6。
启动并运行需要花费一些时间,但是一旦启动,一切就变得非常顺利。
请记住,如果您在其他域上打开的 iFrame 使用不同的协议(HTTP 与 HTTPS),浏览器将发出警告,阻止您的脚本运行(除非用户表示他们愿意接受风险)。如果您可以访问这两种协议,那么在 HTTP 和 HTTPS 上托管 iFrame 的内容并相应地加载适当的脚本可能是明智之举。
祝你好运!