Chrome nasıl yapılır.pencereler.pencereyi aynı ekranda göster oluştur?

0

Soru

Sayfaya enjekte edilen düğmeyi tıkladıktan sonra bir açılır pencere açan bir chrome uzantısı yapıyorum. Pencerenin ana ekranda görüntülenmesi ve açılır pencereyi çağıran tarayıcı penceresinin açık olmaması dışında her şey kusursuz çalışır. Bunu nasıl halledebilirim? Uygunsa, Mac'i özel ekran düzenlemesiyle kullanma. Pencerenin sadece kaynaklandığı pencerenin sınırlarına atıfta bulunmasını istiyorum.

Anladığım kadarıyla bu, bazı ayrıntılı ekran piksel hesaplamalarını içeriyor, ancak bu bağlamda ekran boyutlarını nasıl elde edebilirim? Umarım ne dediğimi ve ilgili tüm detayları eklediğimi anlarsın. Aşağıdaki pencereyi açmak için kodumu ekliyorum:

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

Yardım için teşekkürler herkese.

1

En iyi cevabı

0

Bu bağlantı: https://stackoverflow.com/a/25830431/3218811

Cevap bulmak için beni Led screen nesne. Var availLeft ve availTop ekran düzenlemelerinin kesin ilişkilerini temsil eden özellikler. Mac'te çalışıyor, diğer platformları test etmem gerekiyor, ancak sanırım Chrome'da standart:

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

Diğer dillerde

Bu sayfa diğer dillerde

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