html 5ドキュメント間メッセージ転送

1689 ワード

1.ドメイン間とは?
一言:同じIP、同じネットワークプロトコル、同じポート、3つが同じドメインを満たす.そうでない場合は、ドメイン間でアクセスします.
2.html 5はどのようにしてドキュメント間メッセージ伝送を実現しますか?
まず,他のウィンドウから送信されたメッセージを受信するには,ウィンドウオブジェクトのメッセージイベントを監視しなければならない.コードは次のとおりです.
window.addEventListener("message",function(){},false)
WindowsオブジェクトのpostMessageメソッドを使用して、次のように定義されたメッセージを他のウィンドウに送信します.
otherWindow.postMessage(message,targetOrigin)
このメソッドの最初のパラメータは、送信されたメッセージテキストです.
このメソッドの2番目のパラメータは、メッセージのURLアドレスを受信する
コード:
<html>
<head>
<meta charset="utf-8"/>
<title>      </title>
<script type="text/javascript">

window.addEventListener("message",function(ev){
	if(ev.origin !="http://localhost:8082"){
		return ;
		}
		alert("from "+ev.origin);
	
	},false);
	
function hello(){
	var iframe=window.frames[0];
	iframe.postMessage("  !","http://localhost:8082");
	}
</script>
</head>
<h1>      </h1>
<iframe width="400" src="http://localhost:8082" onload="hello()"></iframe>
</html>
<html>
<head>
<meta charset="utf-8"/>
<title>      </title>
<script type="text/javascript">
window.addEventListener("message",function(ev){
	if(ev.origin !="http://localhost:8083"){
		return ;
		}
		document.body.innerHTML="from " +ev.origin+" data:"+ev.data;
		ev.source.postMessage("       "+this.location,ev.origin);
	
	},false);
	

</script>
</head>
<body>aaaaaaaaaaaaaaaaa</body>
</html>