2009-08-14 110 views
1

我想通过宽度调整浏览器的大小(我知道...我知道...),并且想维护用户浏览器的当前高度,并且我努力在IE8下正常工作。获取ie8输入浏览器窗口的高度

如果我这样做:

window.resizeTo(document.documentElement.clientWidth, document.documentElement.clientHeight); 

理论上应该,保持完全相同的尺寸,我从高处失去大约176像素...并大致对滚动条的宽度。

我找不到任何属性,它会给我整个浏览器窗口的正确大小。

回答

3

这不是最好的解决方案,但它的工作原理。

首先,保存当前的报告高度:

var oldY = document.documentElement.clientHeight; 

其次,将窗口大小设置到一个已知尺寸:

window.resizeTo(800, 600); 

接着通过从减去报告的大小确定的填充量已知尺寸:

var padX = 800 - document.documentElement.clientWidth; 
var padY = 600 - document.documentElement.clientHeight; 

最后,将宽度设置为所需的值pl我们padX,高度为oldYpadY

window.resizeTo(desiredWidth + padX, oldY + padY); 

该方法的缺点是用户可能会注意到窗口在该过程的第二步更改大小。

+0

嗯,我想..技术上..它确实工作..:/ – ChadT 2009-08-14 08:06:52

+0

我建议在使用此方法之前检测'window.outerWidth'功能,这种方式双重大小限制为不支持窗口的浏览器。 outerWidth /高度。 – MichD 2012-11-12 10:23:15