Como fazer com que o chrome.o windows.criar mostrar a janela no mesmo monitor?

0

Pergunta

Eu estou fazendo uma extensão do google chrome que abre uma janela pop-up ao clicar no botão injetado na página. Tudo funciona perfeitamente, além do fato de que a janela é apresentada no ecrã principal, e não a uma janela do navegador, invocando o popup está ativado. Como posso lidar com isso? Usando o Mac com exibição personalizado arranjo, se isso é relevante. Eu gostaria que a janela para apenas referir-se aos limites da janela, originou-se a partir.

Pelo que eu estou entendendo isso envolve algum elaborado apresenta pixel de cálculo, mas como obter tamanhos de tela em que contexto? Eu espero que você veja o que eu estou dizendo e que eu incluída com todos os detalhes relevantes. Eu estou incluindo o meu código para abrir a janela abaixo:

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

Obrigado a todos pela ajuda.

1

Melhor resposta

0

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

Levou-me a encontrar a resposta no screen objecto. Há availLeft e availTop propriedades que representam exatamente as relações de telas de arranjos. Funciona em Mac, eu tenho que testar outras plataformas, mas acho que é padrão no google 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

Em outros idiomas

Esta página está em outros idiomas

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