讓iframe自適應大小 解決方案

2021-04-21 21:04:47 字數 1385 閱讀 9888

第一種:'

οnlοad="this.height = 

document.frames['src'].document.body.scrollheight" />

例子:1,建立頁面 test.html 。 頁面中含有乙個 iframe,name為 ifrname ,id為 ifrid, src 為 iframe.html頁面。

scrolling="">

2,建立 iframe.html 頁面,裡面含有一些內容。

這是iframe頁面,通過在父視窗頁面或子頁面新增js來自動更改寬高,以適應內容的多少。

要想使iframe自動適應寬和高,可以在 test.html 頁面iframe onload處增加一些js**。如:

document.frames["ifrname"].document.body.scrollheight" id="ifrid" 

scrolling="">

這樣iframe即可以自動適應高度了。如果不在onload處增加js,那也可以放到頁面上來呼叫。比如寫個函式。

這樣也可以達到自適應高寬的目的,在這裡要注意的是,iframeelement引數必須是 document.getelementbyid("iframeid"), iframewindow引數是 window.frames[0] 或document.frames["ifrname"]。這是因為通過name得到的物件是視窗(window)物件,非視窗裡的iframe物件。同時document.getelementbyid("iframeid)不能像window物件可以得到window.document。

所以這裡最好給iframe分別加上name和id,id用來更改寬高樣式屬性,name用來執行window相關事件如location.href,document.write。bgcolor例外,元素物件和視窗物件都可以得到,這是因為他們都有這個屬性。

如果要隱藏iframe滾動條,可以設定iframewindow.scrolling = "no";但這不能相容多個瀏覽器,用iframeelement.document.body.style.overflow = "hidden";這種或直接在iframe處增加scrolling="no" html**就可以很好地相容了。

3,如果不能修改父頁面,而只能把**增加在iframe頁面裡呢?

可以寫個類似函式,放在iframe頁面裡:

這時可以通過重新設定document.domain 來跨越2級網域名稱。

var domain = "yourcompany.com";

try

} catch (ex)

如果網域名稱含有yourcompany.com,則改將document.domain改為yourcompany.com。

第二種:

第三種:

第四種:

讓Iframe自適應高度

讓iframe自適應高度 iframe,尤其是不帶邊框的iframe因為能和網頁無縫的結合從而不重新整理頁面的情況下更新頁面的部分資料成為可能,可是 iframe的大小卻不像層那樣可以 伸縮自如 所以帶來了使用上的麻煩,給iframe設定高度的時候多了也不好,少了更是不行,現在,讓我來告訴大 家一種...

讓IFRAME自適應高度

之前自己也碰到過這個問題,為了得到答案去網上搜尋,發現有不少人也遇到了這樣的問題,現在就把解決方法共享一下 超簡單哦 1 建立乙個bottom.js的檔案,然後輸入下面的 只有兩行哦 parent.document.all 框架id名 style.height document.body.scrol...

iframe的自適應大小的問題

這也是乙個老問題,在網上也有很多例子。但我這個專案比較特別!在乙個頁面上可能會有5個,或者少或者多的iframe,每乙個iframe裡面的高度可能在1000以上。所以這個頁面很高,而且不能用分頁。這時會發現js不頂用,前面幾個iframe 可以自適應大小,後面就不行了,但如果加上乙個alert 設訂...