校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Html5 postMessage實現跨域消息傳遞

Html5 postMessage實現跨域消息傳遞

熱門標簽:農村住宅地圖標注 鶴壁手機自動外呼系統怎么安裝 ai電銷機器人連接網關 中紳電銷智能機器人 鄭州電銷外呼系統違法嗎 漳州人工外呼系統排名 濟南辦理400電話 威海營銷外呼系統招商 跟電銷機器人做同事

一、同源策略

    要理解跨域,我們首先要知道什么是同源策略。百度百科上這樣定義同源策略:同源策略(Same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。

    何謂同源:如果兩個URL的域名、協議、端口相同,則表示他們同源。

    瀏覽器的同源策略,限制了來自不同源的"document"或腳本,對當前"document"讀取或設置某些屬性。 (白帽子講web安全[1])。根據這個策略,a.com域名下的JavaScript無法跨域操作b.com域名下的對象。比如,baidu.com域名下的頁面中包含的JavaScript代碼,不能訪問google.com域名下的頁面內容。

    JavaScript必須嚴格遵循瀏覽器的同源策略,包括Ajax(事實上,Ajax也是由JavaScript組成)。通過XMLHttpRequest對象實現的Ajax請求,不能向不同的域提交,比如,在abc.test.com下的頁面,不能向def.test.com提交Ajax請求。運用了同源策略之后,用戶就能確保自己正在查看的頁面確實來自于正在瀏覽的域。

    同源策略在現實應用中是十分重要的。假設攻擊者利用Iframe把真正的銀行登錄頁面嵌到他的頁面上,當用戶使用真實的用戶名、密碼登錄時,該頁面就可以通過JavaScript讀取到用戶表單中的內容,這樣用戶名和密碼信息就被泄漏了。

    在瀏覽器中,<script>、<link>、<img>、<iframe>等標簽都可以加載跨域資源,不受同源策略限制,但是通過src加載的資源,瀏覽器限制了javascript的權限,不能進行各種的讀寫。從而,即使請求發了,敏感數據回來了,也是取不到的。

二、postMessage實現跨域

   語法:window.postMessage(msg,targetOrigin)

    window: 指目標窗口,可能是window.frames屬性的成員或者由window.open方法創建的窗口

    message:要發送的消息,html5規范中提到該參數可以是JavaScript的任意基本類型或可復制的對象,然而并不是所有瀏覽器都做到了這點兒,部分瀏覽器只能處理字符串參數,所以我們在傳遞參數的時候需要使用JSON.stringify()方法對對象參數序列化,在低版本IE中引用json2.js可以實現類似效果

    targetOrigin:“目標域“,包括:協議、主機名、端口號。若指定為”*“,則表示可以傳遞給任意窗口,指定為”/“,則表示和當前窗口的同源窗口。

    獲取postMessage傳來的消息:為頁面添加onmessage事件

XML/HTML Code復制內容到剪貼板
  1. window.addEventListener('message',function(e) {   
  2.        
  3. }  

    onmessage事件接受一個參數e,它是一個event對象。

    e的幾個重要屬性:

      1、data:postMessage傳遞過來的msg

      2、發送消息的窗口對象

      3、origin:發送消息窗口的源(協議+主機+端口號)

     來寫一個簡單的demo:

     http://source.com/source.html用來發送數據:

XML/HTML Code復制內容到剪貼板
  1. <iframe id="iframe" src="http://target.com/target.html"></iframe>  
  2. <input id="msg" type="text" placeholder="請輸入要發送的消息">  
  3. <button id="send">發送</button>  
  4.   
JavaScript Code復制內容到剪貼板
  1. window.onload =function() {   
  2.     document.getElementById('send').onclick = function() {   
  3.     var msg = document.getElementById('msg').value;   
  4.     var iframeWindow = document.getElementById('iframe').contentWindow;   
  5.     iframeWindow.postMessage(msg,"http://target.com/target.html");   
  6.     }   
  7. }   

     http://target.com/target.html用來接收數據: 

XML/HTML Code復制內容到剪貼板
  1. <div>  
  2.    <h2>target.html,以下是接收到的消息:</h2>  
  3.     <section id="msg">  
  4.            
  5.     </section>  
  6. </div>  
JavaScript Code復制內容到剪貼板
  1. window.onload = function() {   
  2.   
  3.     if(window.addEventListener){   
  4.         window.addEventListener("message", handleMessage, false);   
  5.     }   
  6.     else{   
  7.         window.attachEvent("onmessage", handleMessage);   
  8.     }     
  9.   
  10.     function handleMessage(event) {   
  11.         event = event || window.event;   
  12.   
  13.         if(event.origin === 'http://source.com') {   
  14.             document.getElementById('msg').innerHTML = event.data;   
  15.         }   
  16.     }   
  17. }   
  18.   

    運行結果如下:

 

   點擊發送按鈕的時候,target.html將會受到發送的消息。

以上就是本文的全部內容,希望對大家的學習有所幫助。

原文:http://www.cnblogs.com/MarcoHan/p/5245519.html

標簽:惠州 咸陽 文山 甘南 蘇州 紅河 萍鄉 營口

巨人網絡通訊聲明:本文標題《Html5 postMessage實現跨域消息傳遞》,本文關鍵詞  Html5,postMessage,實現,跨域,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Html5 postMessage實現跨域消息傳遞》相關的同類信息!
  • 本頁收集關于Html5 postMessage實現跨域消息傳遞的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美精品一区二区三区蜜桃 | 久久精品视频一区二区三区| 青椒成人免费视频| 欧美福利一区二区| 蜜桃av噜噜一区| 久久超碰97人人做人人爱| 日韩一级片网站| 国产一区二区免费看| 亚洲欧洲www| 3d成人动漫网站| 国产美女一区二区| 亚洲精品国产视频| 欧美成人激情免费网| 成人avav影音| 人人超碰91尤物精品国产| 国产欧美精品一区二区色综合| av成人免费在线观看| 午夜精品久久久久久久| 国产网站一区二区| 欧美日韩一区小说| 国产成人精品网址| 亚洲午夜一区二区| 国产欧美一区二区精品仙草咪| 欧美综合久久久| 国产精品一级二级三级| 午夜欧美电影在线观看| 国产精品久久久久毛片软件| 欧美一区日本一区韩国一区| 盗摄精品av一区二区三区| 亚洲国产精品久久久久秋霞影院 | 精品一区二区三区日韩| 亚洲精品中文在线观看| 久久久五月婷婷| 91麻豆精品国产91久久久资源速度| 不卡视频免费播放| 韩国欧美国产1区| 亚洲a一区二区| 亚洲色图视频网| 久久精品在这里| 精品久久久久久亚洲综合网| 色av成人天堂桃色av| 成人精品国产免费网站| 国产盗摄一区二区| 国产美女视频一区| 国产制服丝袜一区| 久久se这里有精品| 美女看a上一区| 另类小说图片综合网| 久久精品国产99| 激情五月婷婷综合网| 精品亚洲成av人在线观看| 久久97超碰国产精品超碰| 三级久久三级久久| 天天影视涩香欲综合网| 三级不卡在线观看| 婷婷综合另类小说色区| 亚洲mv大片欧洲mv大片精品| 国产女主播一区| 国产区在线观看成人精品 | 天堂精品中文字幕在线| 亚洲国产毛片aaaaa无费看| 亚洲激情五月婷婷| 亚洲在线成人精品| 亚洲va天堂va国产va久| 日本成人在线电影网| 日本视频一区二区| 激情文学综合插| 成人深夜在线观看| 91亚洲男人天堂| av在线播放一区二区三区| 51久久夜色精品国产麻豆| 欧美tk丨vk视频| 国产精品久久综合| 一区二区三区四区视频精品免费 | 日韩久久久久久| 久久影院午夜论| 最新高清无码专区| 午夜视频一区二区三区| 久久精品99国产精品| 国产福利不卡视频| 91国产免费观看| 欧美一个色资源| 中文字幕欧美日韩一区| 亚洲伦在线观看| 奇米四色…亚洲| av一区二区三区| 日韩一二在线观看| 国产精品理论片| 欧美人伦禁忌dvd放荡欲情| 精品成a人在线观看| 亚洲日本一区二区三区| 男人的天堂久久精品| 春色校园综合激情亚洲| 精品污污网站免费看| 国产精品伦一区| 蜜臀精品久久久久久蜜臀| 99在线热播精品免费| 日韩一级二级三级| 亚洲裸体xxx| 精品中文字幕一区二区小辣椒| 97久久精品人人做人人爽| 日韩欧美国产一区二区三区| 亚洲美女屁股眼交3| 国内精品自线一区二区三区视频| 91在线观看下载| 欧美精品一区二区三区高清aⅴ| 亚洲欧美视频一区| 国产麻豆午夜三级精品| 欧美精品自拍偷拍动漫精品| 国产精品成人网| 国产一区二区视频在线| 在线播放中文一区| 亚洲精品乱码久久久久久久久 | 一区二区三区在线影院| 不卡免费追剧大全电视剧网站| 久久青草欧美一区二区三区| 久久精品国产一区二区| 欧美丝袜第三区| 亚洲福利视频一区二区| 91黄视频在线观看| 亚洲九九爱视频| 在线观看国产一区二区| 亚洲中国最大av网站| 欧美在线一二三| 午夜精品久久久久久久久| 欧美群妇大交群的观看方式| 亚洲.国产.中文慕字在线| 欧美在线制服丝袜| 一级日本不卡的影视| 99久久精品情趣| 亚洲综合视频在线| 欧美在线你懂的| 亚洲一级在线观看| 欧美午夜影院一区| 亚洲成av人片一区二区三区| 欧美视频在线一区| 青草av.久久免费一区| 亚洲精品在线免费观看视频| 国产成人综合在线播放| 国产清纯白嫩初高生在线观看91| 风间由美一区二区av101| 国产精品蜜臀在线观看| 99re视频这里只有精品| 亚洲一二三四区| 久久九九国产精品| 99国产精品久久久久| 亚洲一区中文日韩| 欧美一级久久久久久久大片| 国产剧情一区二区| 亚洲视频小说图片| 精品1区2区3区| 久久av老司机精品网站导航| 国产精品久久久久久久久晋中| 色婷婷精品久久二区二区蜜臂av| 亚洲成a人v欧美综合天堂下载| 91精品欧美一区二区三区综合在 | 欧美一级视频精品观看| 韩国欧美国产一区| 中文字幕欧美一| 777亚洲妇女| 国产成人亚洲综合a∨猫咪| 亚洲婷婷综合久久一本伊一区| 在线观看免费成人| 国产在线观看一区二区| 一区二区久久久| 国产日韩影视精品| 制服.丝袜.亚洲.中文.综合| 国产另类ts人妖一区二区| 亚洲狠狠爱一区二区三区| 日韩一区二区三区在线视频| 91最新地址在线播放| 久久99国产精品久久99 | 午夜精品久久一牛影视| 中文字幕精品综合| 日韩一区二区视频| 99久久精品免费| 美国av一区二区| 亚洲综合激情网| 中文欧美字幕免费| 精品日韩99亚洲| 欧美久久久久久蜜桃| 色成年激情久久综合| 99久久久久免费精品国产| 国产在线不卡一区| 免费观看在线综合| 婷婷开心久久网| 一区二区成人在线| 亚洲欧美电影一区二区| 国产精品毛片高清在线完整版| 精品欧美一区二区久久| 日韩一级二级三级| 91麻豆精品国产综合久久久久久| 在线视频一区二区三| 色综合咪咪久久| 色综合天天性综合| 99精品久久久久久| 99久久久精品| 日本精品一区二区三区四区的功能| av不卡在线播放| 99精品黄色片免费大全|