1. 程式人生 > >切換iframe頁面,從內容長的頁面切換到內容短的頁面,滾動條不會消失的問題解決(二)

切換iframe頁面,從內容長的頁面切換到內容短的頁面,滾動條不會消失的問題解決(二)

問題描述:在上一篇文章"非跨域情況下iframe 高度自適應的問題解決"的背景下,在低版本google瀏覽器下執行時,出現了一個問題,"當頁面切換時,從內容長(有滾動條產生)的頁面回到內容短(沒有滾動條產生)的頁面,滾動條不會消失",查詢原因後發現,是iframe自適應函式在google低版本下不相容導致的,以下程式碼為優化版,可以解決上述問題。

iframe自適應函式(可相容低版本google)

/**
* @param ifm:原生方法獲取的iframe物件
* iframeing:是不傳引數時,預設的iframe的id和name
*/
function iFrameHeight(ifm) {
    ifm = ifm || document.getElementById("iframeing");
    if (ifm != null) {
        if (ifm.contentDocument && ifm.contentDocument.body.offsetHeight)
        ifm.height = ifm.contentDocument.body.offsetHeight;
    else if(ifm.Document && ifm.Document.body.scrollHeight)
        ifm.height = ifm.Document.body.scrollHeight;
    }
}