Firefoxを使用してからwindow.open('blah.com','blah','left=-30,top=-300');
を使用すると、ポップアップは最初のディスプレイの上にある2番目のディスプレイで開きますが、Chromeではleft=0,top=0
でポップアップが開きます。 chromeがこれを行っている理由はありますか?また、どのように問題を修正しますか?
ありがとう!
これはChromeのバグだと思いますが、JavaScriptを初めて使用するため、現時点では修正方法を認識していません。申し訳ありませんが、これは答えではないと確信しています。あなたが探していた。
これは、セカンダリモニターでポップアップウィンドウが開いたときのChromeのバグです。Chrome人々はこれがセキュリティの問題であると言っているようです(これがセキュリティの問題である方法は私を超えていますが)。
さて、存在しないセカンダリモニターでポップアップウィンドウを開くと、セキュリティの問題であることが理解できましたが...何でも。
この問題に関するディスカッションへのリンクは次のとおりです。
私はこれが古い投稿であることを知っていますが、これが私の解決策です。画面オブジェクトの「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 .. ..
最近、セキュリティ上の理由から、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にはありません。また、これは表示領域の外ではないことに注意してください...