var w = 300;
var h = 300;
var left = (window.screen.width/2)-(w/2);
var top = (window.screen.height/2)-(h/2);
var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h);
win.moveTo(left, top);
var w = 300;
var h = 300;
var left = (window.screen.width/2)-(w/2);
var top = (window.screen.height/2)-(h/2);
var win = window.open("example.html", "_blank", 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
6条答案
按热度按时间f87krz0w1#
这是Chrome中的一个错误,当弹出窗口在辅助显示器上打开时。Chrome的人似乎说这是一个安全问题(尽管这是一个安全问题是我无法理解的)。
现在,打开一个弹出窗口上不存在的二级显示器,我可以理解是一个安全问题,但.随便吧
这里有一个链接到关于这个问题的讨论:
https://code.google.com/p/chromium/issues/detail?id=137681
holgip5t2#
我知道这是一个老帖子,但这是我的解决方案。只需使用screen对象的“avail*”属性:
基本上,“window.screen.availLeft”给你其他屏幕的宽度,所以你可以添加你的正常中心计算。
rta7y2nd3#
对于Chrome...
4c8rllxm4#
看看这个StackOverflow的帖子Center a popup window on screen?
几年前我对这个功能做了一点升级。
qlvxas9a5#
我知道这篇文章很老了,但我也遇到过类似的问题:
--在Firefox中将弹出窗口居中,但在Chrome中不居中。另外,请注意,这并不在展示区之外。。
pod7payv6#
这种方法是可行的,尽管这种方法是实验性的,将来可能不会起作用