国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

html5 跨文檔消息傳輸示例探討

2020-03-24 16:15:03
字體:
來源:轉載
供稿:網友
對窗口對象的message事件進行監聽

復制代碼代碼如下:
window.addEventListener("message", function(event) {
// 處理html' target='_blank'>程序代碼
}, false);

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

復制代碼代碼如下:
otherwindow.postMessage(message, targetOrigin);

該方法使用兩個參數:第一個參數為所發送的消息文本,但也可以是任何JavaScript對象(通過JSON轉換對象為文本);第二個參數為接收消息的對象窗口的URL地址,可以在URL地址字符串中使用通配符 * 指定全部地址,不過建議使用準確的URL地址。otherwindow為要發送窗口對象的引用,可以通過window.open()方法返回該對象,或通過對window.frames數組指定序號(index)或名字的方式來返回單個frame所屬性的窗口對象。
示例

復制代碼代碼如下:
!DOCTYPE html
html
head
meta charset="UTF-8"/
title 跨文檔消息傳輸示例主文檔 /title
script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js" /script
script type="text/javascript"
$(function() {
// 監聽message事件。
window.addEventListener("message", function(event) {
// 忽略指定URL之外的頁面發送的消息。
if(event.origin != "http://www.blue-butterfly.net") return;
alert(event.data); // 顯示消息。
}, false);
$("#iframeContent").load(function(event) {
// 向子頁面發送消息
this[0].postMessage("Hello", "http://www.blue-butterfly.net/test/");
});
});
/script
/head
body
header
h1 跨域通信示例 /h1
/header
iframe id="iframeContent" width="400" src="http://www.blue-butterfly.net/test/" /iframe
/body
/html

子頁面中的代碼如下:

復制代碼代碼如下:
!DOCTYPE html
html
head
meta charset="UTF-8"/
script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js" /script
script type="text/javascript"
$(function() {
window.addEventListener("message", function(event) {
if(event.origin != "http://Lulingniu") return;
$("#console").append(event.origin).append("傳來的消息:").append(event.data);
// 向主頁面發送消息。
event.source.postMessage("Hello, there is :" + this.location, event.origin);
}, false);
});
/script
/head
body
p 這是iframe中的內容。 /p
div id="console" /div
/body
/html

通過對window對象的message事件進行監聽,可以接收消息。
通過訪問message事件的origin屬性,可以獲取消息的發送源(本例中主頁面的發送源為 http://Lulingniu ,子頁面的發送源為 http://www.blue-butterfly.net )。注意:發送源與網站的URL地址不是一個概念,發送源只包括域名與端口號,為了不接收其他源惡意發送過來的消息,最好對發送源做檢查。
通過訪問message事件的data屬性,可以取得消息內容(可以是任何JavaScript對象,使用JSON)。
使用postMessage()方法發送消息。
通過訪問message事件的source屬性,可以獲取消息發送源的窗口的代理對象。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 竹山县| 丹凤县| 始兴县| 九龙县| 个旧市| 沅江市| 南投县| 廊坊市| 双牌县| 宝清县| 贵港市| 浏阳市| 东至县| 邵武市| 锡林郭勒盟| 赣榆县| 汨罗市| 惠水县| 丽水市| 桓仁| 随州市| 新巴尔虎左旗| 清原| 商都县| 津市市| 白玉县| 留坝县| 马边| 轮台县| 时尚| 蓬安县| 灵台县| 定边县| 莎车县| 永丰县| 三都| 文水县| 勐海县| 阳曲县| 法库县| 内江市|