创建高度动态变化的Iframe

林继 VPS 知识 10,118 共写了609个字 (2006-01-01 16:21:34) 5条评论 打印 扫描二维码 百度已收录

From:http://www.blogcn.com/user30/k_reverter/blog/21547341.html

iframe,尤其是不带边框的iframe因为能和网页无缝的结合从而不刷新页面的情况下更新页面的部分数据成为可能,可是iframe的大小却不像层那样可以“伸缩自如”,所以带来了使用上的麻烦,给iframe设置高度的时候多了也不好,少了更是不行,现在,我终于知道了让iframe动态体调整高度的方法,主要是以下JS函数:

function SetCwinHeight()
{
var cwin=document.getElementById(“cwin”);
if (document.getElementById)
{
if (cwin && !window.opera)
{
if (cwin.contentDocument && cwin.contentDocument.body.offsetHeight)
cwin.height = cwin.contentDocument.body.offsetHeight;
else if(cwin.Document && cwin.Document.body.scrollHeight)
cwin.height = cwin.Document.body.scrollHeight;
}
}
}

最后,加入iframe,不能丢掉onload属性,当然了,id也必须也函数中的cwin匹配

这样使用效果确实不错

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

5条评论
  • steamlin

    2006年12月15日 4:11:47

    我也是找了好久才找到的..
    谢谢楼主的分享....

  • 笑笑

    2006年3月24日 8:49:22

    iframe好像没有onload的方法吧?我用了,发现不行

  • 布丁龙

    2006年2月16日 10:08:38

    建议改装一下

    function SetCwinHeight(obj)
    {
      var cwin=obj;
      if (document.getElementById)
      {
        if (cwin && !window.opera)
        {
          if (cwin.contentDocument && cwin.contentDocument.body.offsetHeight)
            cwin.height = cwin.contentDocument.body.offsetHeight;
          else if(cwin.Document && cwin.Document.body.scrollHeight)
            cwin.height = cwin.Document.body.scrollHeight;
        }
      }
    }

    引用时
    onload="javascript:SetCwinHeight(this)"

    1. 林继

      2006年2月16日 13:09:24

      谢谢你的建议

  • guest

    2006年1月11日 6:55:51

    找了好长时间,好用,非常谢谢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >