今天在学习跨域访问的时候,测试了html5的postmessage的使用,遇到了无法接收的问题,从一个页面向页面中的iframe发送数据,无法发送。查阅了很多资料,感觉使用也没有出错,不知道问题出在哪里,希望用过的大牛帮忙看下,下面附上代码:
test.html文件(发送页面)
<iframe name="receive" id="iframe" src="test2.html" >
</iframe>
<script type="text/javascript">
window.onload=function() {
window.postMessage('收到没', '*');//在这里发送数据
}
</script>
test2.html文件(接收页面)
<script>
window.addEventListener("message",function(e){
alert(e.data);
})
</script>
刷新页面,无法获得alert消息,我在本地服务器下面同一个文件夹里,主页面和iframe应该是处于同一个域下的,不理解为什么同域就出问题了。
PS:发送应该没有问题,因为自发自收是没问题的
<iframe name="receive" id="iframe" src="test2.html" >
</iframe>
<script type="text/javascript">
window.onload=function() {
window.postMessage('收到没', '*');
window.addEventListener("message",function(e){
alert(e.data);
})
}
</script>