Window.open浏览器的高度不一致

Window.open inconsistent height for browsers

本文关键字:高度 不一致 浏览器 open Window      更新时间:2023-09-26

我正在尝试使用以下JS代码创建一个简单的弹出窗口:

window.open(this.href,"popupwindow", "width=400,height=545,innerHeight=500, left=200,top=5,scrollbars,toolbar=0,resizable");

生成的弹出窗口显示不同浏览器的不同高度。我在不同的浏览器上通过控制台检查了window.innerHeight,结果是:

safari:window.innerHeight=455

铬:window.innerHeight=500

IE:window.innerHeight=549

Firefox:window.innerHeight=544

这是JSFiddle链接。

我需要高度为500像素的弹出窗口。我如何在所有浏览器中都能做到这一点。

打开后调整窗口大小可以获得更好的尺寸精度:

var win = window.open("about:blank" "popupwindow",  // about:blank for demo
  "width=400,height=500,left=200,top=5,scrollbars,toolbar=0,resizable");
// adjust size;
win.resizeBy( 400 - win.innerWidth, 500-win.innerHeight);

请求一个400 x 500像素的窗口,然后调整内容区域的大小以确保。不同浏览器对innerHeight和width设置的处理甚至识别可能不同。

但是

弹出窗口受用户偏好和弹出阻止程序的限制。例如,我将IE设置为在新选项卡中打开弹出窗口(上面的代码不会打开新窗口),Firefox始终包含位置栏,并将任何试图绕过弹出窗口阻止程序的网站视为恶意网站。您可能希望提请制定要求的人员注意这一点。

window.open(this.href,"popupwindow", "width=400,innerHeight=500,left=200,top=5,scrollbars,toolbar=0,resizable");

你无法预测窗户的高度。这取决于用户的偏好。但您只需要innerHeight