2011-04-12 13 views
8

Estoy creando un elemento del menú contextual de Google Chrome, así:¿Cómo puedo obtener el elemento al que se hizo clic con el botón derecho a través del menú contextual de Google Chrome?

chrome.contextMenus.create({ 
"title":"My Context Menu Item", 
"contexts":["editable"], 
"onclick": onClick 
}); 

La devolución de llamada onClick recibe dos argumentos: un objeto y un objeto OnClickInfo pestaña. Ninguno de los objetos parece contener una referencia al elemento DOM al que se hizo clic con el botón derecho al invocar el menú contextual. Tengo console.logged ambos objetos pero no veo ninguna referencia al elemento objetivo en ninguna parte.

El resultado deseado:

  • usuario haga clic en un elemento editable
  • usuario hace clic en mi contexto elemento de menú
  • dentro del onClick de devolución de llamada, tener mi búsqueda de extensión para un padre 'forma' elemento relativo al elemento de clic derecho

Tal como está ahora, no parece que Chrome ofrezca ninguna referencia al elemento de destino. ¿Alguien ha encontrado una forma de evitar esta limitación?

Respuesta

8

Debe insertar un script de contenido en cada página y escuchar el evento mousedown y registrar el último elemento en el que se ha hecho clic. Luego, cuando se llama a una devolución de llamada del menú contextual, debe sendRequest en la pestaña para obtener la información sobre el último elemento en el que se hizo clic.

+0

¿Iniciar sesión en console.log? ¿Enviar petición? ¿Te refieres a una llamada AJAX? – Sophivorus

Cuestiones relacionadas