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

标签 javascript html css

我正在尝试使用此 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/

相关文章:

javascript - 从数组返回 "false" bool 值的数量 - MobX 和 React

javascript - Bootstrap 弹出窗口对我来说永远不起作用

html - 使用 nowrap 的水平导航

javascript - 平面 UI 复选框样式在启动时不应用

css - 带有背景图像和位置的 IE 7 与 js hack

javascript - 如何在背景图片下添加背景颜色?

Javascript for 循环条件

javascript - 找不到干扰我布局的 CSS 元素

html - 如何应用 CSS 分页符来打印包含很多行的表格?

javascript - 为什么 css 变量动画在 Web 组件中不起作用