// If you run this on your left screen (0),
// the window will open on your right screen
async function openWindow(){
// Get screen info
const details = await getScreenDetails();
const secondScreen = details.screens[1];
const {left} = secondScreen;
// Open window
const winProps = `left=${left},top=100,width=640,height=480`;
const win = window.open(
"https://www.google.com/",
"My second screen window",
winProps
);
}
openWindow();
3条答案
按热度按时间hpxqektj1#
正如其他人所说,这样做的唯一明智的方法是询问用户。允许这样做的建议以前曾被提出和拒绝过。多显示器设置在普通人群中并不是很常见,这就是为什么这一点被忽视的原因。
备选方案是:
总的来说-对于正常的网站,唯一的选择是提示用户。
irlmq6kh2#
这在目前的Javascript中是不可能的,你也许可以尝试通过计算屏幕的高度和宽度来猜测。
例如,如果屏幕
width
比height * 1.78
宽,那么这意味着它的宽高比超过16:9
,那么他们可能使用的是双屏。那么
window.innerWidth
会比screen.width
更好吗?除此之外,这是不可能的。
cotxawn73#
来自未来的问候!
2023年,我们可以查一下
是否有第二个显示器。然后我们可以使用
以获得屏幕的数量、它们的显示细节(有很多)和它们的“左”坐标。2不过这需要用户授予权限。
使用此功能,您可以在特定屏幕上打开窗口。例如:
请访问www.example.com了解更多https://developer.chrome.com/articles/multi-screen-window-placement/#the-window-management-permission