弹出打开铬的位置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弹出打开铬的位置相关的知识,希望对你有一定的参考价值。

当我使用firefox然后使用window.open('blah.com','blah','left=-30,top=-300');时,弹出窗口会在我的第二个显示器上方打开,但是在chrome中,弹出窗口只在left=0,top=0打开。有没有理由为什么铬这样做,我将如何解决这个问题?

谢谢!

答案

我认为Chrome中的这个错误是诚实的,但我现在还不知道修复,因为我自己是javascript的新手。对不起,我确定这不是您要找的答案。

另一答案

在辅助监视器上打开弹出窗口时,这是Chrome中的错误。 Chrome用户似乎表示这是一个安全问题(虽然这是一个安全问题超出我的范围)。

现在,在NON-EXISTENT辅助监视器上打开一个弹出窗口,我能理解是一个安全问题,但是......无论如何。

这是关于此事的讨论的链接:

https://code.google.com/p/chromium/issues/detail?id=137681

另一答案

我知道这是一个老帖子,但这是我的解决方案。只需使用屏幕对象的“avail *”属性:

var windowSize = {
    width: 500,
    height: 500,
};
var windowLocation = {
    left:  (window.screen.availLeft + (window.screen.availWidth / 2)) - (windowSize.width / 2),
    top: (window.screen.availTop + (window.screen.availHeight / 2)) - (windowSize.height / 2)
};
window.open(http://example.com, '_blank', 'width=' + windowSize.width + ', height=' + windowSize.height + ', left=' + windowLocation.left + ', top=' + windowLocation.top);

基本上,“window.screen.availLeft”为您提供了其他屏幕宽度,因此您可以为此添加正常的中心计算。

另一答案
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);

对于Chrome ...

另一答案

我知道这篇文章很老但我遇到过类似的问题:

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);

- 在Firefox中弹出窗口,但不在Chrome中。另外,请注意,这不在显示区域之外......

以上是关于弹出打开铬的位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在鼠标单击位置打开弹出框

对铬的业力测试

如何知道何时调用了`navController.popBackStack()`?

pycharm添加Odoo代码片段

三价铬是怎么转变成六价铬的呢?

与位置一起使用时 WP7 弹出窗口延迟打开