wwwwwwwwwww.色I日韩精品不卡在线I国产精品涩涩屋www在线观看I亚洲精品无码不卡I久久免费看视频I日日骚网站。I男女爱爱动态图视频I亚洲国产天堂avI久久99这里只有精品I女人18片毛片90分钟I九月伊人中文字幕I狠狠狠综合I亚洲综合免费视频Iav在线影视I青青草原I欧美久久熟妇成人精品I久久免费资源I国产综合久久7777

24小時咨詢電話:0571-88023217廚房用品網站建設公司 10年專業網絡服務供應商

資訊中心

- 直擊網站建設第一現場,掌握全球化的消息 -

當前位置 : 首頁 > 資訊中心 > 如何用opener hack方式實現IE6,7完美跨域

如何用opener hack方式實現IE6,7完美跨域

分享 2012.03.23 瀏覽次數:22099次

        有時我們做一個項目時,有需要跨域請求和處理一些大數據量得數據,對于服務端提交的數據非常的之大,get的URL長度限制滿足不了需求,又由于跨域的影響,一直很頭痛數據傳輸的問題。于是乎,上網搜了搜一些跨域的解決方案,無非了iframe嵌iframe,通過window.name或者hash,做跳板,都受到url長度的限制,不是很理想。我們都知道在HTML5中,提供了一種postMessage的消息機制,可以在不同域的頁面上,互相通過window.postMessage(datastring,’limitDomain’)的方式傳遞消息。在需要觸發的頁面注冊onMessage事件,event的data屬性就是傳遞datastring文本。再配合老道的JSON.parse就可以完美的傳遞json格式的對象了。可惜的是目前PostMessage只在IE8,FF和Chrome現版本提供了實現。對于老版本的IE6,7沒有提供實現。

 

        于是在google搜索的時候,無意中發現某高人的Blog提供了一種稱之為IE6,7 opener hack的方式實現跨域,據說是google的工程師率先發現的這個bug,fackbook的登陸頁面就是利用了這個bug實現了postMessage的跨域。

可惜,google了半天,詳細資料基本找不到,也沒有找到一個具體的例子,于是自己搗鼓了一下,寫了個例子,放上來。

下面我們來看下,如何利用這個bug的例子

hosts配置

   1: 127.0.0.1    www.a.com
   2: 127.0.0.1    www.b.com

test.htm

   1:<html>
   2:<body>
   3:<iframeid="a"src="http://www.b.com/test1.htm">iframe>
   4:<script>
1:
   2:var i=document.getElementById('a');
   3: i.contentWindow.opener={
   4:     dd:function(str){
   5:var div=document.createElement('div');
   6:         document.body.appendChild(div);
   7:         div.innerHTML=str;
   8:     }
   9: }
  10: setTimeout(function(){
  11:     opener.bb('bbbbbbb');
  12: },300)
  13:
script>
   5:body>
   6:html>

test1.htm

   1:<html>
   2:<body>
   3:
   4:<script>
1:
   2:     window.opener.dd('aaaaaaaaa');
   3:     parent.opener={
   4:         bb:function(str){
   5:var div=document.createElement('div');
   6:             document.body.appendChild(div);
   7:             div.innerHTML=str;
   8:         }
   9:     }
script>
   5:body>
   6:
   7:html>

 

          我們可以看到,在IE6,7下,只要重置了window對象的opener為一個{}對象,在父頁面設置了iframe的window.opener為一個{}之后,在iframe里面就可以通過opener調用parent的方法,在iframe重置parent.opener為一個{}對象之后,在parent就可以調用iframe的方法。

*還有一種說法是可以設置opener為function(){},通過new opener()來調用

 

         總結,通過IE6,7的hack,我們可以比較完美的實現postMessage在各大主流瀏覽器的兼容,以后跨域又多了一項利器。不過比較遺憾的事,重置opener之后,對于window.open打開的窗口,就不能很好的操作了。

杭州網站建設    相關閱讀:Chrome瀏覽器全球份額首次超過IE 但僅保持一天

    最新新聞

    與互聯網同行,實時掌握網建行業最新動態

  • 廚房類APP開發

    日期:2021-02-26瀏覽次數:15184次

最新網站案例

洞悉市場趨勢演變讓傳播回歸社會

    免費獲取網站建設與網絡推廣方案報價

    • 關于我們

      杭州帷拓科技有限公司,是一家新型的全案網絡開發公司,作為以互聯網高端網站建設、APP開發、小程序開發為核心的專業網絡技術服務供應商,帷拓科技致力于全面分析市場環境、衡量與預測市場需求、整合區別于行業競爭對手的絕對優勢,結合品牌理念深度挖掘項目優勢和產品價值,提升客戶品牌認知、認可度。

    • 我們的客戶

      帷拓科技歷經十年沉淀,與國內外上千家客戶達成合作關系,其中穩定合作的公司有:浙江華為、浙江移動、浙江5G產業聯盟、浙江省社科院、綠城足球俱樂部、娃哈哈雙語學校、健康中國杭州峰會、科雷機電等,帷拓科技始終堅持“帷有專業,才能拓展無限”的服務理念,堅持“認真堅持細節”的優質服務理念,不斷完善自身,成就企業,最終實現共贏。

    • 我們的業務

      帷拓科技主營業務范圍包含互聯網高端網站建設、APP開發、小程序開發、商城網站建設、公眾號運營以及數字營銷等,涵蓋了服務、房產、數碼、服裝、物流貿易等行業,根據品牌現狀,為每個客戶量身定制項目整體服務方案,以敏銳的市場洞察力、創新的市場策劃能力,全面把握市場變化,為客戶實現從企業到消費者的價值轉換。

    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    主站蜘蛛池模板: 亚洲成av人片在线观看麦芽| 国产精品 中文字幕 亚洲 欧美| 亚洲乱亚洲乱妇小说网| 女人的精水喷出来视频| 亚洲精品欧美精品日韩精品| 双腿张开被9个黑人调教作文| 亚洲日韩看片无码超清| 久久精品国产99久久无毒不卡| 欧美性xxxx极品hd欧美风情| 精品综合久久久久久888| 欧美乱人伦视频在线| 人妻少妇精品视中文字幕国语| 亚洲精品国产一二三无码av| 亚洲熟妇中文字幕日产无码| 亚洲日韩看片无码超清| 国产精品va在线观看老妇女| 人妻无码不卡中文字幕在线视频| 熟女人妻aⅴ一区二区三区麻豆| 国产av一区二区三区日韩| 在线天堂最新版资源| 中文字幕人妻一区二区三区| 色天使亚洲综合一区二区| 欧美乱强伦xxxxx高潮| 黑人巨大跨种族video| 亚洲精品黑牛一区二区三区| 人摸人人人澡人人超碰| 国产成a人片在线观看视频下载| 一本大道大臿蕉视频无码| 亚洲精品黑牛一区二区三区| 97se亚洲国产综合自在线尤物| 国产麻豆精品sm调教视频网站| 国产日韩久久免费影院| 丰满少妇被猛烈进出69影院| av在线亚洲欧洲日产一区二区| 日韩高清在线观看永久| av天堂午夜精品一区| 国模少妇一区二区三区| 97精品人妻一区二区三区香蕉| 亚洲免费观看在线视频| 手机看片精品国产福利| 大地资源在线观看官网第三页 |