【问题标题】:Resize iframe to show first element works except in IE 7调整 iframe 的大小以显示除 IE 7 之外的第一个元素作品
【发布时间】:2011-06-08 17:02:23
【问题描述】:

我的主页上有两个 iframe,下面的脚本位于 iframe 中显示的页面的头部,页面上有几个分区,容器 div 的 id 为“内容”,我想要调整主页上 iframe 的大小,以便最初只看到第一个 div 并滚动查看其余部分。

它可以在我尝试过的所有浏览器中运行,除了 IE 7,我不太关心早期的浏览器。 IE 7 的行为就像显示的页面是空白的,并且将 iframe 调整为 0 高度,有人可以告诉我为什么 IE 7 会出现问题,如果失败了,我怎样才能让 IE 7 忽略脚本?

函数 resizeIframe() {

//获取id为'content'的容器div的firstChild

var div01 = document.getElementById("content").firstChild;

//查找第一个忽略空格的元素并返回

while(div01.nodeType!=1){ div01 = div01.nextSibling; }

//获取第一个元素的高度

var boxHeight = div01.clientHeight;

//设置iframe的高度iframe的id为'news'

parent.document.getElementById('news').height = boxHeight; }

我有在body标签中调用的函数。

如果有人可以帮助我,我将非常感激。

它所在的页面位于 wsuu.org 带有脚本的版本尚未启动,但您可以了解我正在尝试做什么。

罗伯

【问题讨论】:

    标签: iframe resize


    【解决方案1】:

    问题在于 IE 7 不理解它返回 0 而不是元素高度的 clientHeight 方法。我用所有浏览器都理解的 offsetHeight 替换了它。我把代码放在首页,在body标签中调用了函数。

    这里是代码。

        function calcHeight2()
    {
        var div01=
        document.getElementById('iframe2').contentWindow.
        document.getElementById("content").firstChild;
        while(div01.nodeType!=1){
            div01 = div01.nextSibling;
        }
        var boxHeight = div01.offsetHeight;
        document.getElementById('iframe2').height = boxHeight-5;
    }
    

    你可以看到它在工作,

    wsuu.org

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 2013-09-23
      相关资源
      最近更新 更多