Centro de um diálogo XUL para a tela
-
05-07-2019 - |
Pergunta
Em um diálogo, eu redimensionar algumas imagens e depois forçar a janela para SizeToContent. Então, eu quero o diálogo centrar-se na tela. Como posso fazer isso?
Solução
O resultado final seria uma janela que se move a si mesma? Por favor, não torná-lo muito chato:)
De qualquer forma, você vai ter que fazê-lo manualmente usando window.moveTo
e várias propriedades screen
(ver https : //developer.mozilla.org/en/DOM/window )
Aqui está um exemplo interessante, apesar de não centralizar a janela, ele garante que é visível: http://www.koders.com/javascript/fid3F51B87DFD457428278627805CCA8D39ADC13455.aspx? s = janela # L3
Outras dicas
Eu também procurei ao redor e olhou para o MDC para qualquer coisa que centralizá-lo, mas não encontrou nada, então eu criei este! Isto irá funcionar tanto no indicador e no diálogo.
var w=(screen.availWidth/2)-(document.getElementById('windowID').width/2);
var h=(screen.availHeight/2)-(document.getElementById('windowID').height/2);
window.moveTo(w,h);
A única coisa que deve mudar é windowID
ao valor ID da sua janela.
Ele vai trabalhar em todas as resoluções de tela que leva a largura da tela e altura total, em seguida, divide-o ao meio dando assim o centro da tela, em seguida, ele subtrai seus largura e altura configurações para levá-los em conta, mas os divide pela metade, assim como para compensar a janela, pois sem o deslocamento não será centrada.
Espero que isto tenha ajudado!
Um elemento <dialog>
define o moveToAlertPosition () e centerWindowOnScreen () métodos de conveniência para você, e também copia-os para o escopo global, assim você não tem que escopo los com document.documentElement.