Cum faci google chrome.windows.crea afișa fereastra pe același ecran?

0

Problema

Eu fac o extensie chrome care deschide o fereastră pop-up clic pe butonul injectat în pagină. Totul funcționează impecabil în afară de faptul că fereastra este afișată pe ecranul principal, și nu cel pe care fereastră a browser-ului invocarea pop-up este pe. Cum pot rezolva asta? Folosind Mac cu personalizat de afișare acord, în cazul în care este relevant. Mi-ar place pe fereastră să consultați limitele de fereastra provine de la.

Din ce am înțeles acest lucru implică unele elaborate afișează pixel calcul, dar cum pentru a obține dimensiuni de afișare în acest context? Sper că veți vedea ce vreau să spun și că am inclus toate detaliile relevante. Eu, inclusiv codul pentru a deschide fereastra de mai jos:

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

Multumesc tuturor pentru ajutor.

1

Cel mai bun răspuns

0

Acest link: https://stackoverflow.com/a/25830431/3218811

M-a condus la găsirea răspunsul în screen obiect. Există availLeft și availTop proprietăți care reprezintă exact relațiile de ecrane aranjamente. Funcționează pe Mac, am sa testez si alte platforme, dar presupun ca e standard în 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

În alte limbi

Această pagină este în alte limbi

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