鍍金池/ 問(wèn)答/HTML/ JavaScript 怎么跨域獲取 iframe 中的內(nèi)容?

JavaScript 怎么跨域獲取 iframe 中的內(nèi)容?

比如我的域名是 www.a.com,然后我在頁(yè)面 www.a.com/a.html 中嵌入了一個(gè) iframe,iframe 中引用了www.b.com ,我對(duì)b域名有控制權(quán)限

但是在獲取iframe內(nèi)的內(nèi)容時(shí),出現(xiàn)跨域問(wèn)題,請(qǐng)問(wèn)怎么突破這種限制(不用一個(gè)域名)

回答
編輯回答
硬扛

iframe 不存在跨域,除非對(duì)面設(shè)置了不許跨域請(qǐng)求iframe,
如果這樣,iframe里的網(wǎng)頁(yè)還不是你的就沒(méi)轍了,是你的百度下解除限制就好了

2018年4月13日 22:14
編輯回答
單眼皮

可以通過(guò)一層代理iframe解決跨域問(wèn)題,需要兩個(gè)域名下的代碼配合

具體來(lái)說(shuō),需要在www.b.com下再創(chuàng)建一個(gè)指向www.a.com的代理iframe,把想讀取的數(shù)據(jù)通過(guò)url傳給代理iframe,代理iframe接到數(shù)據(jù)后,可以通過(guò)window.topwindow.parent.parent訪問(wèn)到頂層的www.a.com的window對(duì)象,如果www.a.com的window下有回調(diào)方法,代理iframe就可以通過(guò)執(zhí)行widnow.top.callback(data)把數(shù)據(jù)傳過(guò)去。

2018年4月22日 04:26