1. 程式人生 > >重新整理當前 iframe 高度

重新整理當前 iframe 高度

找當前iframe:原理就是遍歷父級的所有iframe子元素。一個一個對比,如果 document 與當前相同,則找到了當前 iframe 重新整理當前iframe:算出當前文件高度,然後從父級給當前iframe設定高度。

//獲取當前iframe
function getFrameInParent(){
    var len =  parent.document.getElementsByTagName("iframe").length;
    for(var i = 0; i < len; i++){
        if(parent.document.getElementsByTagName("iframe")[i].contentWindow.document === document){
            return parent.document.getElementsByTagName("iframe")[i];
        }
    }
}
//iframe 內容發生變化時自動調整高度
function changeFrameHeight(myFrame){
	var bHeight = myFrame.contentWindow.document.body.scrollHeight;
    var dHeight = myFrame.contentWindow.document.documentElement.scrollHeight;
    var height = Math.max(bHeight, dHeight);
	myFrame.height= myFrame.contentDocument.documentElement.offsetHeight
}

//執行重新整理
changeFrameHeight(getFrameInParent());