我正在尝试按宽度调整浏览器的大小(我知道......我知道......),并希望维护用户当前浏览器的高度,我正在努力让它正常工作在IE8下。
如果我这样做:
window.resizeTo(document.documentElement.clientWidth, document.documentElement.clientHeight);
理论上应保持完全相同的尺寸,我从高处丢失大约176个像素......大致相当于滚动条的宽度。
我找不到任何可以为我提供整个浏览器窗口大小的属性。
答案 0 :(得分:3)
这不是最佳解决方案,但可行。
首先,保存当前报告的高度:
var oldY = document.documentElement.clientHeight;
其次,将窗口大小设置为已知大小:
window.resizeTo(800, 600);
接下来,通过从已知大小中减去报告的大小来确定填充量:
var padX = 800 - document.documentElement.clientWidth;
var padY = 600 - document.documentElement.clientHeight;
最后,将宽度设置为所需的值加padX
,将高度设置为oldY
加padY
。
window.resizeTo(desiredWidth + padX, oldY + padY);
此方法的缺点是用户可能会在过程的第二步注意到窗口更改大小。