首页 > 代码库 > HTML5-postMessage

HTML5-postMessage

技术分享

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 = http://www.mamicode.com/‘a‘;>

  

<!--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