中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何用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長度限制滿足不了需求,又由于跨域的影響,一直很頭痛數(shù)據(jù)傳輸?shù)膯栴}。于是乎,上網(wǎng)搜了搜一些跨域的解決方案,無非了iframe嵌iframe,通過window.name或者h(yuǎn)ash,做跳板,都受到url長度的限制,不是很理想。我們都知道在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: 2: 3:iframe> 4:
  • 金塔县| 南京市| 永仁县| 青川县| 玉环县| 左云县| 方正县| 恩平市| 信丰县| 林口县| 汤阴县| 兴宁市| 渭南市| 镇江市| 手游| 舟山市| 陆丰市| 江门市| 霍林郭勒市| 利津县| 金阳县| 神农架林区| 恩施市| 酒泉市| 松滋市| 诸暨市| 买车| 东台市| 廊坊市| 镇宁| 恩施市| 绥棱县| 澳门| 台安县| 海安县| 潢川县| 鄂州市| 兰西县| 泌阳县| 鄂尔多斯市| 西乌珠穆沁旗|