亚洲精品乱码久久久久蜜桃-97国产精品人妻无码久久久-加勒比中文字幕无码一区-中文字幕乱人伦高清视频-无码va在线观看

24小時咨詢電話:0571-88023217賓館網(wǎng)站建設(shè)公司 10年專業(yè)網(wǎng)絡(luò)服務(wù)供應(yīng)商

資訊中心

- 直擊網(wǎng)站建設(shè)第一現(xiàn)場,掌握全球化的消息 -

當(dāng)前位置 : 首頁 > 資訊中心 > 如何用opener hack方式實現(xiàn)IE6,7完美跨域

如何用opener hack方式實現(xiàn)IE6,7完美跨域

分享 2012.03.23 瀏覽次數(shù):21843次

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

 

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

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

下面我們來看下,如何利用這個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為一個{}對象,在父頁面設(shè)置了iframe的window.opener為一個{}之后,在iframe里面就可以通過opener調(diào)用parent的方法,在iframe重置parent.opener為一個{}對象之后,在parent就可以調(diào)用iframe的方法。

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

 

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

杭州網(wǎng)站建設(shè)    相關(guān)閱讀:Chrome瀏覽器全球份額首次超過IE 但僅保持一天

最新網(wǎng)站案例

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

    免費獲取網(wǎng)站建設(shè)與網(wǎng)絡(luò)推廣方案報價

    • 關(guān)于我們

      杭州帷拓科技有限公司,是一家新型的全案網(wǎng)絡(luò)開發(fā)公司,作為以互聯(lián)網(wǎng)高端網(wǎng)站建設(shè)、APP開發(fā)、小程序開發(fā)為核心的專業(yè)網(wǎng)絡(luò)技術(shù)服務(wù)供應(yīng)商,帷拓科技致力于全面分析市場環(huán)境、衡量與預(yù)測市場需求、整合區(qū)別于行業(yè)競爭對手的絕對優(yōu)勢,結(jié)合品牌理念深度挖掘項目優(yōu)勢和產(chǎn)品價值,提升客戶品牌認(rèn)知、認(rèn)可度。

    • 我們的客戶

      帷拓科技?xì)v經(jīng)十年沉淀,與國內(nèi)外上千家客戶達(dá)成合作關(guān)系,其中穩(wěn)定合作的公司有:浙江華為、浙江移動、浙江5G產(chǎn)業(yè)聯(lián)盟、浙江省社科院、綠城足球俱樂部、娃哈哈雙語學(xué)校、健康中國杭州峰會、科雷機(jī)電等,帷拓科技始終堅持“帷有專業(yè),才能拓展無限”的服務(wù)理念,堅持“認(rèn)真堅持細(xì)節(jié)”的優(yōu)質(zhì)服務(wù)理念,不斷完善自身,成就企業(yè),最終實現(xiàn)共贏。

    • 我們的業(yè)務(wù)

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

    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    Designerpart Designagentur
    主站蜘蛛池模板: 真人作爱免费视频| 亚洲最大天堂无码精品区| 四虎影视成人永久免费观看视频| 久久综合88熟人妻| 丰满五十六十老熟女hd| 午夜福利片1000无码免费| 极品美女扒开粉嫩小泬图片| 午夜福到在线a国产4 视频| 亚洲人成在线播放无码| 国产成人精品亚洲日本在线| 国产一区二区不卡在线看| 国产欧美日韩一区二区搜索| 亚洲中文无码av永久伊人| 成人片无码免费播放| 狠狠色噜噜狠狠狠狠av不卡| 人妻护士在线波多野结衣| 无码少妇一区二区三区芒果| 亚洲熟女乱色一区二区三区| 337p日本欧洲亚洲大胆精品| 黄频视频大全免费的国产| 一本久久a久久精品亚洲| 137裸交肉体摄影| 韩国三级大全久久网站| 动漫精品啪啪一区二区三区| 无码国产玉足脚交极品网站| 性色av一区二区三区v视界影院 | 永久黄网站色视频免费| 伦人伦xxxx国语对白| 久久久久久曰本av免费免费| 久久青青草免费线频观| 亚洲色无码播放亚洲成av| 99精品无人区乱码在线观看 | 少妇高潮惨叫喷水在线观看| 国产欧美va欧美va香蕉在| 羞羞影院午夜男女爽爽影院网站 | 97久久精品亚洲中文字幕无码| 天天爽夜夜爽人人爽一区二区| yy111111少妇无码理论片| 国产亚洲成年网址在线观看| 日本一二免费不卡区| 精品无码久久久久久久久|