有没有人知道获取整个浏览器窗口的宽度/高度(包括导航栏、菜单等)的Javascript调用方法?
我知道在Firefox、Safari和其他浏览器中有outerWidth
、outerHeight
。
有没有人知道获取整个浏览器窗口的宽度/高度(包括导航栏、菜单等)的Javascript调用方法?
我知道在Firefox、Safari和其他浏览器中有outerWidth
、outerHeight
。
这也可能会有所帮助,具体取决于您试图实现什么:
window.moveTo(0,0); window.resizeTo(screen.width,screen.height); var navButtonsEtcHeight = screen.height - window.innerHeight; var navButtonsEtcWidth = screen.width - window.innerWidth;
注意:对于"window.innerHeight"支持的浏览器无关解决方案,请参见此链接
然后你就得到了你要找的答案——请注意,非全屏用户会首先看到他们的窗口在屏幕上跳来跳去的缺点。
这是DreadPirateShawn答案的变体。已在IE7和Chrome8上测试通过。最初出现在Experts Exchange。
function getWindowSize() {
var wW, wH;
if (window.outerWidth) {
wW = window.outerWidth;
wH = window.outerHeight;
} else {
var cW = document.body.offsetWidth;
var cH = document.body.offsetHeight;
window.resizeTo(500,500);
var barsW = 500 - document.body.offsetWidth;
var barsH = 500 - document.body.offsetHeight;
wW = barsW + cW;
wH = barsH + cH;
window.resizeTo(wW,wH);
}
return { width: wW, height: wH };
}
我相信这就是你想要的
document.body.offsetWidth
document.body.offsetHeight
我认为你可以使用
width: window.outerWidth
height: window.outerHeight
您可以使用 jQuery,这样在 IE 中就不会出现未定义的情况。您可以先尝试获取屏幕尺寸,然后使用浏览器的尺寸来计算精确的大小。
window.resizeTo
不再可靠。例如,如果启用了选项卡浏览,则无法正常工作。 - Tim Down