在ie8中获取进入浏览器窗口的高度

时间:2009-08-14 03:02:53

标签: javascript internet-explorer-8

我正在尝试按宽度调整浏览器的大小(我知道......我知道......),并希望维护用户当前浏览器的高度,我正在努力让它正常工作在IE8下。

如果我这样做:

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

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

我找不到任何可以为我提供整个浏览器窗口大小的属性。

1 个答案:

答案 0 :(得分:3)

这不是最佳解决方案,但可行。

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

var oldY = document.documentElement.clientHeight;

其次,将窗口大小设置为已知大小:

window.resizeTo(800, 600);

接下来,通过从已知大小中减去报告的大小来确定填充量:

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

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

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

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