iframe 完全跨域,就是不同域名不同伺服器之間的跨域?JS 如何做到
01-16
自己的頁面main.html想嵌套一個外部頁面,以iframe形式之類外部頁面,
是這樣的&,想在我的頁面就是main.html裡面獲取iframej裡面嵌套頁面(http://qq.com)的的高度,這個有辦法做到嗎?
同一個 origin 下,父頁面可以通過 iframe.contentWindow 直接訪問 iframe 的全局變數、DOM 樹等,iframe 可以也通過 parent/top 對父頁面做同樣的事情。
不同 origin 下,標準的方法是通過 .postMessage() 互相通信,不標準的方法是利用 location.hash 等奇技淫巧。
協議、域名、埠號,共同決定一個 origin 。小夫兄的回答非常全面,用過.postMessage()做過大型應用,是個不錯的選擇。
你嵌入的那個頁面是你不能控制的話,或是別想了
再給你一個非常規的解決方案,在部署上做文章。用nginx做轉假如 你的網站http://www.a.com 裡面有個iframs 嵌入了http://www.b.com/b.html的頁面;那麼你可以在nginx下的a域名下增加一個配置項目,新建一個節點b.html 然後指向到 http://www.b.com/b.html. 然後頁面上的引用地址則自動改為http://www.a.com/b.html 即可。
當然配置項,可以直接配置一個二級域名指向你引用地址,然後你就想怎麼玩就怎麼玩了
iframe完全跨域解決方案:前端開發機器人_前端開發領域的最強大腦
如果內嵌的頁面裡邊能夠再內嵌一個你自己的頁面的話,很好解決。否則不容易
看看這個iframe跨域通信的通用解決方案iframe跨域通信的通用解決方案
我看了下,稍作了點改動,改成這個版本myCode/study-code/crossDomains/my-cross at master · LittleBearBond/myCode · GitHub
推薦閱讀:
TAG:前端開發 | JavaScript | iframe | 跨域 |