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

首頁 > 編程 > HTML > 正文

HTML5中的postMessage API基本使用教程

2019-10-26 17:42:16
字體:
供稿:網(wǎng)友

關(guān)于postMessage

window.postMessage雖然說是html5的功能,但是支持IE8+,假如你的網(wǎng)站不需要支持IE6和IE7,那么可以使用window.postMessage。關(guān)于window.postMessage,很多朋友說他可以支持跨域,不錯,window.postMessage是客戶端和客戶端直接的數(shù)據(jù)傳遞,既可以跨域傳遞,也可以同域傳遞。

應(yīng)用場景

我只是簡單的舉一個應(yīng)用場景,當(dāng)然,這個功能很多地方可以使用。

假如你有一個頁面,頁面中拿到部分用戶信息,點(diǎn)擊進(jìn)入另外一個頁面,另外的頁面默認(rèn)是取不到用戶信息的,你可以通過window.postMessage把部分用戶信息傳到這個頁面中。(當(dāng)然,你要考慮安全性等方面。)

代碼舉例

發(fā)送信息:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. //彈出一個新窗口    var domain = 'http://haorooms.com';   
  2. var myPopup = window.open(domain                 + '/windowPostMessageListener.html','myWindow');   
  3.    //周期性的發(fā)送消息   
  4. setTimeout(function(){        //var message = '當(dāng)前時間是 ' + (new Date().getTime());    
  5.         var message = {name:"站點(diǎn)",sex:"男"}; //你在這里也可以傳遞一些數(shù)據(jù),obj等        console.log('傳遞的數(shù)據(jù)是  ' + message);   
  6.     myPopup.postMessage(message,domain);    },1000);  

要延遲一下,我們一般用計時器setTimeout延遲再發(fā)用。

接受的頁面

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. //監(jiān)聽消息反饋    window.addEventListener('message',function(event) {   
  2.     if(event.origin !== 'http://haorooms.com') return; //這個判斷一下是不是我這個域名跳轉(zhuǎn)過來的        console.log('received response:  ',event.data);   
  3. },false);  

如下圖,接受頁面得到數(shù)據(jù)
2016520115816771.png (507×161)

如果是使用iframe,代碼應(yīng)該這樣寫:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. //捕獲iframe    var domain = 'http://haorooms.com';   
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 安徽省| 麦盖提县| 贺兰县| 贵阳市| 嘉善县| 永吉县| 茶陵县| 通道| 醴陵市| 儋州市| 东兰县| 麻阳| 涟源市| 田阳县| 新泰市| 逊克县| 张北县| 化隆| 田东县| 专栏| 泾源县| 前郭尔| 连城县| 隆子县| 科技| 高邮市| 慈利县| 永寿县| 金平| 襄城县| 临沧市| 米林县| 新竹市| 罗城| 延长县| 彰化县| 桐城市| 县级市| 穆棱市| 长泰县| 从化市|