欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

2022-07-17    分類: 網(wǎng)站建設(shè)

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


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

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

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

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


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

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

網(wǎng)頁標(biāo)題:如何用opener hack方式實(shí)現(xiàn)IE6,7完美跨域
文章出自:http://chinadenli.net/news6/180056.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)頁設(shè)計(jì)公司、建站公司微信小程序、關(guān)鍵詞優(yōu)化App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
日韩一区二区三区有码| 国产免费一区二区三区不卡| 91精品国产av一区二区| 亚洲国产丝袜一区二区三区四| 人妻乱近亲奸中文字幕| 亚洲中文字幕在线观看黑人| 又黄又硬又爽又色的视频 | 亚洲丁香婷婷久久一区| 成年人免费看国产视频| 国产三级黄片在线免费看| 在线观看日韩欧美综合黄片| 欧美区一区二在线播放| 欧美精品久久一二三区| 日韩一本不卡在线观看| 国产精品午夜小视频观看| 好吊视频一区二区在线| 欧美一区二区黑人在线| 日韩欧美一区二区黄色| 日本不卡片一区二区三区| 欧美日韩欧美国产另类| 视频在线免费观看你懂的| 国产色第一区不卡高清| 日韩欧美一区二区不卡看片| 国产一区二区三区四区中文| 超薄丝袜足一区二区三区| 国产视频在线一区二区| 亚洲男女性生活免费视频| 果冻传媒在线观看免费高清| 成人午夜在线视频观看| 深夜日本福利在线观看| 九九热精彩视频在线免费| 亚洲人妻av中文字幕| 丝袜诱惑一区二区三区| 日韩精品毛片视频免费看| 高清一区二区三区大伊香蕉| 久久本道综合色狠狠五月| 国产高清视频一区不卡| 国产一区二区精品高清免费| 欧美激情中文字幕综合八区| 国产精品一区二区有码| 国产乱淫av一区二区三区|