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