Mi complemento de Firefox está agregando un menú contextual a su acción del navegador (botón de la barra de herramientas del navegador) usando browser.menus.create() y especificando el contexto "browser_action". Este elemento del menú contextual abrirá una página de extensión en su propia ventana emergente.
¿Hay alguna manera de obtener las coordenadas de pantalla x e y del botón de la barra de herramientas desde donde se originó el clic derecho? Quiero poder establecer la posición de la ventana emergente para que esté junto al botón de la barra de herramientas desde el que se invocó el elemento del menú contextual.
Escuche el evento del menú contextual y pageY
propiedades pageX
y contextmenu
del evento:
document.addEventListener('contextmenu', function(e){ const xCoordinate = e.pageX; const yCoordinate = e.pageY; console.log(`x: ${xCoordinate}, y: ${yCoordinate}`) })
Puede agregar un oyente a la ventana/documento
window.oncontextmenu = function(event){ //get rhe x/y from the event }
O
document.on('contextmenu', (event)=>{ //get the x/y from the event })
Uno de ellos debería hacer el truco.
En VanillaJS:
document.addEventListener('contextmenu', function(event){ var bounds = event.target.getBoundingClientRect(); var x = event.clientX - bounds.left; var y = event.clientY - bounds.top; console.log( {x: x, y: y} ); })