跨域iframe獲取高度

2021-08-28 17:36:41 字數 398 閱讀 3238

需求背景:父頁面內嵌乙個跨域的子頁面,但是子頁面的內容是未知的,意味著子頁面的高度也是未知的,父頁面的樣式不能定死高度,不然會出現雙重滾動條(子頁面有滾動條,父頁面也會出現滾動條)

解決方案:公司裡大神出的方案,跨域的b.html頁面中再嵌入乙個**頁面agent.html,**頁面跟最外層的父頁面a.html是同源的,b.html通過在標籤請求的url中加入b.html的頁面高度告訴agent.html,在agent.html中通過window.onload事件(推薦)獲取到b.html的高度,因為a.html和agent.html同源的關係,agent.html中可以通過window.parent.parent獲取到a.html中的dom元素,即子頁面iframe,最後設定iframe高度。

目前不知道是否最佳方案

參考資料:

跨域iframe高度計算

一 同域獲取iframe內容 這裡有兩個細節 1.取iframe內的文件物件,標準瀏覽器使用 contentdocument屬性,ie低版本 ie6,7,8 使用 document屬性。2.calcpageheight函式計算頁面的實際高度,標準瀏覽器使用document.documenteleme...

解決跨域iframe自適應高度

關於iframe自適應高度的討論可以先看看口碑ued的部落格 大概原理見下圖 可以直接看示例 下面直接上 了 下面是核心 loader.js 檔案proxy.html 使用方法 一 在主頁面要包含的iframe中引入loader.js 二 傳入引數。有兩種傳參方法 1.在主頁面引用iframe的時候...

跨域iframe的高度自適應

跨域iframe的高度自適應 1.跨子域的iframe高度自適應 2.完全跨域的iframe高度自適應 同域的我們可以輕鬆的做到 1.父頁面通過iframe的contentdocument或document屬性訪問到文件物件,進而可以取得頁面的高度,通過此高度值賦值給iframe tag。2.子頁面...