Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 真正跨浏览器获取文档高度的方法?_Javascript_Web Applications_Web - Fatal编程技术网

Javascript 真正跨浏览器获取文档高度的方法?

Javascript 真正跨浏览器获取文档高度的方法?,javascript,web-applications,web,Javascript,Web Applications,Web,我的ASP.NET web应用程序页面上的iframe中包含一个控件。 控件根据用户在其上选择的内容(一些元素进入,其他元素退出)相应地更改其垂直大小。因此,我必须精确地设置iframe的大小,以显示整个控件,而不是在iframe和它下面的元素之间制造间隙 在web上的某个地方,我找到了一种通过跨浏览器获取文档高度的方法: function getDocHeight(document) { return Math.max( Math.max

我的ASP.NET web应用程序页面上的iframe中包含一个控件。 控件根据用户在其上选择的内容(一些元素进入,其他元素退出)相应地更改其垂直大小。因此,我必须精确地设置iframe的大小,以显示整个控件,而不是在iframe和它下面的元素之间制造间隙

在web上的某个地方,我找到了一种通过跨浏览器获取文档高度的方法:

        function getDocHeight(document) {
        return Math.max(
            Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
            Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
            Math.max(document.body.clientHeight, document.documentElement.clientHeight)
        );
    }
在控件页的self.document.body.onload上,因此,我调用此函数:

        function adjustIframeHeight() {
        var iframe = window.parent.document.getElementById(window.frameElement.id);
        var iframeHeight = getDocHeight(iframe.contentWindow.document);
        iframe.style.height = iframeHeight + "px";
    }
问题是它在Firefox中运行良好,但在某些情况下,在Chrome和IE中,控件的底部部分会被切断

有没有真正跨浏览器的方法来达到这个高度,或者我做错了什么?
感谢您抽出时间

我会使用类似jQuery的工具来帮助解决这个问题(因为使用高度方法似乎因浏览器而异),下面是一些jQuery代码,可以帮助您:

$(document).height(); // height of HTML doc

实际上,它给了我与jQuery相同的结果。我开始弄清楚问题出在哪里:只有当图像位于底部时,我才能将其截断。看起来帧高度是在加载图像之前计算的。当我刷新页面时,框架得到了适当的高度。您是否知道如何在加载之前告诉图像。我正在使用ASP.NET ImageButton-s并设置其ImageUrl属性