我正在尝试使用此 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
Chrome :window.innerHeight
= 500
IE:window.innerHeight
= 549
Firefox:window.innerHeight
= 544
这是 JSFiddle关联。
我需要高度为 500px 的弹出窗口。我怎样才能在所有浏览器上做到这一点。
最佳答案
打开后调整窗口大小可以获得更好的尺寸精度:
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 设置为始终包含地址栏,并将任何旨在规避弹出窗口阻止程序的网站视为恶意网站。您可能希望提请设置要求的人员注意这一点。
关于javascript - 浏览器的 Window.open 高度不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36656992/