码迷,mamicode.com
首页 > Web开发 > 详细

HTML5-postMessage

时间:2016-11-10 02:12:14      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:跨域访问   bsp   页面   主机名   技术   hash   nal   另一个   data   

技术分享

1.window.postMessage访问能够安全的实现跨域访问;

2.不同页面的scripts如果要实现互相访问的话,必须要满足以下几个条件:

  (1)相同的协议;

  (2)相同的接口;

  (3)相同的主机名;

(window.name、location.hash等等其实也是可以实现跨域访问的)

3.window.postMessage能够安全的绕过这些限制。

 

技术分享

1.当window.postMessage方法被调用时,会产生一个MessageEvent,这个event会被派遣到目标窗口;

2.MessageEvent被赋予两个属性,一个是要传输到目标窗口的数据,另一个是调用postMessage方法的当前窗口所在的域。

 

<!--a.com/a.html-->
<script>
	window.onload = function(){
		var data = ‘a‘;
		var targetOrigin = ‘http://b.com‘;
		window.postMessage(data, targetOrigin);
	}
</script>

  

<!--b.com/b.html-->
<script>
	window.addEventListener(‘message‘, receiveMessage, false);

	function receiveMessage(event){
		var origin = event.origin || event.originalEvent.origin;
		if(origin !== ‘http://a.com‘){
			return;
		}
	}
</script>

  

HTML5-postMessage

标签:跨域访问   bsp   页面   主机名   技术   hash   nal   另一个   data   

原文地址:http://www.cnblogs.com/dylanthomas/p/6049033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!