网上有很多帖子问到,chrome浏览器file://协议下,就是本地打开的页面,主页面和内嵌的iframe页面无法通讯,
这其实是chrome的安全限制造成的。而实际上,他们之间能异步通讯的。但是不能同步通讯。
方法:利用HTML5的新api, postmessage。
在主页面index.htm
$("IframeID").contentWindow.postmessage("hello world!","*");
在iframe内内部
if (typeof window.addEventListener != ‘undefined‘)
{
window.addEventListener(‘message‘, function(e)
{
alert(e.data)
}, false);
}
else if (typeof window.attachEvent != ‘undefined‘)
{
window.attachEvent(‘onmessage‘, function(e)
{
alert(e.data)
}
);
}