我想获得webbrowser窗口主体的精确高度。我试过innerHeight,clientHeight我在google搜索时得到的所有其他解决方案。但它们都没有给出准确的高度。我不得不通过从这些函数提供的高度减去一些值来调整高度?如何摆脱这个问题。我想我错过了一些东西。请帮忙。
谢谢
答案 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
有关详细信息,请查看以下内容: