IT技术博客大学习 共学习 共进步

iframe自适应高度代码

断桥残雪部落格 2011-08-23 13:24:07 浏览 3,822 次

有不少wBox的用户反映iframe时候不可以自动撑开高度,今天在无意中看到了司徒正美的一片关于iframe自适用高度的js代码,感觉不错,转载来了。

var adjustIframe = function (id) {
    var iframe = document.getElementById(id)
    var idoc = iframe.contentWindow && iframe.contentWindow.document || iframe.contentDocument;
    var callback = function () {
        var iheight = Math.max(idoc.body.scrollHeight, idoc.documentElement.scrollHeight); //取得其高
        iframe.style.height = iheight + "px";
    }
    if (iframe.attachEvent) {
        iframe.attachEvent("onload", callback);
    } else {
        iframe.onload = callback
    }
}
HTML代码如下所示: 
<iframe id="js_sub_web" width="80%" frameborder="0" scrolling="no" allowTransparency="true" src="http://www.cnblogs.com/rubylouvre/archive/2009/09/15/1566722.html">
</iframe>

使用代码:

window.onload = function(){
     adjustIframe("js_sub_web");
}

推荐几篇关于Iframe的文章:

  1. 再谈Iframe的问题
  2. 解决IE6 select z-index无效,遮挡div的bug
  3. 使用JavaScript在IE和Firefox下进行iframe的DOM操作
  4. 用document.domain+iframe实现Ajax跨子域
  5. 关于Ajax在浏览器中产生前进后退的实现方法

建议继续学习

  1. iframe大小自适应 (阅读 9,882)
  2. iframe里src="about:blank"的问题。 (阅读 7,901)
  3. 跨域请求的iframe解决方案(1) (阅读 6,321)
  4. BO报表系统嵌入Iframe在firefox下的错误修改 (阅读 5,543)
  5. ie下iframe输入框焦点丢失解决方案 (阅读 5,386)
  6. 三谈Iframe自适应高度 (阅读 4,584)
  7. Google+开发团队分享经验 (阅读 4,480)
  8. 使用document.domain和iframe实现站内AJAX跨域 (阅读 4,462)
  9. 跨域请求的iframe解决方案(2) (阅读 4,124)
  10. IFrame带来的Session问题 (阅读 3,945)