如何做。窗户。创建显示窗口在同一显示器上?

0

的问题

我想提出一个铬扩展,将打开一个窗口后,点击按钮注入网页。 一切完美的作品,除了从这一事实显示窗口的主要显示,并不一浏览器窗口调用的弹出窗口。 我怎么处理呢? 使用Mac有定义的显示器的排列,如果那是相关的。 我想窗口,只是提到边界的窗口,它起源。

从我理解这涉及到一些详细阐述显示素的计算,但如何得到显示的尺寸在这方面? 我希望你看到我在说什么,包括我所有相关的细节。 我是包括我的代码,用于开放的窗口下:

    chrome.windows.getCurrent((tabWindow) => {
        const popupWidth = 400;
        const popupHeight = 400;
        const leftOffset = (tabWindow.width/2)-(popupWidth/2);
        const topOffset = (tabWindow.height/3)-(popupHeight/2); 

        var infoPopupUrl = "someurl";

        chrome.windows.create(
            {
                'url': chrome.runtime.getURL(infoPopupUrl),
                'type': "popup",
                'width': popupWidth,
                'height': popupHeight,
                'left': Math.round(leftOffset),
                'top': Math.round(topOffset),
                'focused': true
            }
        );
    });

感谢大家的帮助。

1

最好的答案

0

此链接: https://stackoverflow.com/a/25830431/3218811

引导我找到答案的 screen 对象。 还有 availLeftavailTop 性表示的确切关系的屏幕的安排。 工作上Mac,我要试验其他的平台,但是我想这是标准的浏览器:

        const leftOffset = (tabWindow.width/2)-(popupWidth/2)+screen.availLeft;        
        const topOffset = (tabWindow.height/3)-(popupHeight/2)+screen.availTop; 
2021-11-17 11:16:22

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................