Wie kann ich das Element, das mit der rechten Maustaste geklickt wurde, über ein Google Chrome-Kontextmenü aufrufen?

8

Ich erstelle ein Kontextmenüelement in Google Chrome wie folgt:

%Vor%

Der onClick -Rückruf erhält zwei Argumente: ein OnClickInfo -Objekt und ein Tab-Objekt. Keines der Objekte enthält einen Verweis auf das DOM-Element, auf das beim Aufrufen des Kontextmenüs mit der rechten Maustaste geklickt wurde. Ich habe console.logged dieser beiden Objekte, sehe aber nirgendwo einen Verweis auf das Zielelement.

Das gewünschte Ergebnis:

  • Benutzer klickt mit der rechten Maustaste auf ein bearbeitbares Element
  • Benutzer klickt auf meinen Kontextmenüeintrag
  • Innerhalb des onClick -Rückrufs suche meine Erweiterung nach einem übergeordneten 'form' -Element relativ zum Ziel-Rechtsklick-Element

Wie es momentan aussieht, sieht es nicht so aus, als würde Chrome auf das Zielelement verweisen. Hat jemand einen Weg gefunden, diese Einschränkung zu umgehen?

    
Ben D 12.04.2011, 22:59
quelle

1 Antwort

8

Sie müssen auf jeder Seite ein Inhaltsskript einfügen und auf mousedown event warten und das zuletzt angeklickte Element protokollieren. Dann, wenn ein Kontextmenü-Callback aufgerufen wird, müssen Sie sendRequest auf die Registerkarte, um die Informationen über das zuletzt angeklickte Element zu erhalten.

    
Scott 14.04.2011, 16:45
quelle