javascript 中iframe高度自適應(yīng)(同域)
今天解決了iframe高度自適應(yīng)的問題,不過這只是同域下的頁(yè)面嵌入,以下是代碼:
function SetCwinHeight(){ var iframeid = document.getElementById("frame"); //frame是iframe的id if (document.getElementById) { if (iframeid && !window.opera) { if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) { iframeid.height = iframeid.contentDocument.body.offsetHeight; }else if (iframeid.Document && iframeid.Document.body.scrollHeight) { iframeid.height = iframeid.Document.body.scrollHeight; } } }
iframe嵌入頁(yè)面時(shí)需要等待它完全加載完后才可以調(diào)用SetCwinHeight(),所以當(dāng)修改iframe里的src值時(shí),也需要等待修改的頁(yè)面完全嵌入后才可以調(diào)用SetCwinHeight(),這樣才有效果,那么該怎么放置SetCwinHeight(),我的解決方法是在iframe標(biāo)簽里直接調(diào)用,即這樣寫 <iframe onload = "SetCwinHeight();"></iframe>,但是這樣的的話會(huì)污染了html環(huán)境,可是在js中一般只用一次window.onload = function(){},如果使用多次,后面的會(huì)覆蓋前面的,所以目前為止我能想到的解決方法就這一個(gè)