html5web通信-跨文檔消息傳輸

 html5如何實現跨文檔消息傳輸?

首先,要是想接受從其他的窗口那裏發送的消息,就必須對窗口對象的message事件進行監視。代碼如下

window.addEventListener("message",function(){},false)

使用window對象的postMessage方法向其他窗口發送消息,其方法定義如下

otherWindow.postMessage(message,targetOrigin)

該方法第一個參數爲所發送的消息文本

該方法第二個參數接收消息的URL地址


//1.html

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
window.οnlοad=function(){
document.getElementById('title').innerHTML='頁面在'+document.location.host+'域中,且每過1秒向跨文檔消息傳輸2.html發送一個消息!';
//定時向另外一個不確定域的文件發送消息
setInterval(function(){
var message='消息發送測試!&nbsp;&nbsp;'+(new Date().getTime());
// document.write(message);
window.parent.frames[0].postMessage(message,'*');//message爲要發送的消息,*表示可以傳遞給任意的窗口
},1000);
}
</script>
</head>
<body>
<div id="title"></div>
</body>

</html>


//2.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
window.οnlοad=function(){
var onmessage=function(e){
var data=e.data,
p=document.createElement('p');
p.innerHTML=data;
document.getElementById('display').appendChild(p);
};
//監聽postMessage消息事件
if(typeof window.addEventListener!='undefined'){
window.addEventListener('message',onmessage,false);//接收到message消息調用onmessage函數
}
else if(typeof window.attachEvent!='undefined')
{
window.attachEvent('onmessage',onmessage);
}
};
</script>
</head>
<body>
<div id="display()"></div>
</body>
</html>


1.html顯示效果如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章