Jak se chrome.systém windows.vytvořit, zobrazit okno na stejném displeji?

0

Otázka

Dělám chrome rozšíření, které otevře vyskakovací okno po kliknutí na tlačítko injekčně do stránky. Vše funguje bezchybně na rozdíl od skutečnosti, že okno se zobrazí na hlavním displeji, a ne jednoho okna prohlížeče vyvolání popup je na. Jak mohu zvládnout? Pomocí Mac s vlastní zobrazení uspořádání, pokud je to relevantní. Rád bych za okno jen odkazovat na hranice okna pochází od.

Z toho, co jsem chápání se jedná o nějaký propracovaný pixel zobrazuje výpočet, ale jak se dostat velikosti displeje v této souvislosti? Doufám, že vidíte to, co říkám, a to jsem zahrnuty všechny relevantní údaje. Já jsem včetně mé kódu pro otevření okna níže:

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

Díky všem za pomoc.

1

Nejlepší odpověď

0

Tento odkaz: https://stackoverflow.com/a/25830431/3218811

Mě vedlo k hledání odpovědí v screen objekt. Tam jsou availLeft a availTop vlastnosti, které představují přesné vztahy obrazovek opatření. Pracuje na Mac, budu muset vyzkoušet jiné platformy, ale myslím, že je to standard v Chrome:

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

V jiných jazycích

Tato stránka je v jiných jazycích

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