Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取ie8中enter浏览器窗口的高度_Javascript_Internet Explorer 8 - Fatal编程技术网

Javascript 获取ie8中enter浏览器窗口的高度

Javascript 获取ie8中enter浏览器窗口的高度,javascript,internet-explorer-8,Javascript,Internet Explorer 8,我正在尝试调整浏览器(我知道…我知道…)的宽度,只想保持用户当前的浏览器高度,我正在努力让它在IE8下正常工作 如果我这样做: window.resizeTo(document.documentElement.clientWidth, document.documentElement.clientHeight); 从理论上讲,它应该保持完全相同的大小,我从高度上损失了大约176个像素。。。大概是滚动条的宽度 我找不到任何属性可以提供整个浏览器窗口的正确大小。这不是最好的解决方案,但它可以工作

我正在尝试调整浏览器(我知道…我知道…)的宽度,只想保持用户当前的浏览器高度,我正在努力让它在IE8下正常工作

如果我这样做:

window.resizeTo(document.documentElement.clientWidth, document.documentElement.clientHeight);
从理论上讲,它应该保持完全相同的大小,我从高度上损失了大约176个像素。。。大概是滚动条的宽度


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

这不是最好的解决方案,但它可以工作

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

var oldY = document.documentElement.clientHeight;
其次,将窗口大小设置为已知大小:

window.resizeTo(800, 600);
var padX = 800 - document.documentElement.clientWidth;
var padY = 600 - 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);

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

我建议在使用此方法之前,先检测功能
window.outerWidth
,这样,双重调整大小仅限于不支持window.outerWidth/height的浏览器。