如何获得webbrowser窗口的精确高度?

时间:2012-06-18 05:45:55

标签: javascript html css

我想获得webbrowser窗口主体的精确高度。我试过innerHeight,clientHeight我在google搜索时得到的所有其他解决方案。但它们都没有给出准确的高度。我不得不通过从这些函数提供的高度减去一些值来调整高度?如何摆脱这个问题。我想我错过了一些东西。请帮忙。

谢谢

3 个答案:

答案 0 :(得分:13)

某些浏览器报告窗口高度不正确 - 特别是具有不同视口概念的移动浏览器。我有时会使用一个函数来检查几个不同的值,返回最大的值。例如

function documentHeight() {
    return Math.max(
        window.innerHeight,
        document.body.offsetHeight,
        document.documentElement.clientHeight
    );
}

编辑:我刚看了jQuery是如何做到的,它确实使用了Math.max和一系列属性 - 但是它检查的列表与我上面的示例中的列表略有不同,并且因为我通常相信jQuery团队比我更善于这些东西;这里是非jQuery jQuery解决方案(如果有意义的话):

function documentHeight() {
    return Math.max(
        document.documentElement.clientHeight,
        document.body.scrollHeight,
        document.documentElement.scrollHeight,
        document.body.offsetHeight,
        document.documentElement.offsetHeight
    );
}

答案 1 :(得分:2)

您可以使用Jquery来实现这一目标......

$(document).ready(function(){
    browserWindowheight = $(window).height();
    alert(browserWindowheight);
});

答案 2 :(得分:1)

您是否尝试过使用:

window.outerHeight (this is for IE9 and other modern browser's height)

对于具有向后兼容模式的Internet Explorer,请使用

document.body.offsetHeight 

另外,Internet Explorer(标准模式,document.compatMode =='CSS1Compat'):

document.documentElement.offsetHeight 

有关详细信息,请查看以下内容: