当打开一个带有API window.open
的窗口时,Chrome的行为与IE和FF不同,并且在双屏设置([screen1] [screen2])中将左侧位置指定到右侧屏幕/监视器上的位置。
当调用屏幕在右侧监视器上时,同样的情况发生,左侧位置始终在第二个监视器中开始,尽管打开属性screenX
后正确报告屏幕宽度而不是0(将此窗口放在第二个监视器并在下面的jsfiddle中设置left=0
来测试它。)
Chrome似乎总是将弹出位置捕捉到调用窗口屏幕。
你可以在这个小小提琴http://jsfiddle.net/inglun/en59odar/
中试试当然,这是一项调整,以防止窗口在屏幕上结束,无法将第二个屏幕考虑在内。错误?有没有解决的办法?
在实际使用案例中,用户在第二个屏幕上放置一个窗口,期望它在下一个会话期间(可能是明天)结束。职位保存在本地存储中。
答案 0 :(得分:0)
我发现了一些搜索并根据你的例子对其进行了修改......
$(function()
{
$('#btnOpen').click(function(){
// change 2100 put window on right screen
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('about:blank', null, 'width=' + windowSize.width + ', height=' + windowSize.height + ', left=' + windowLocation.left + ', top=' + windowLocation.top)
});
});