Ich habe eine Firefox-Erweiterung geschrieben, die abfängt, wenn eine bestimmte URL eingegeben wird und einige Sachen macht. Meine Haupt-App startet Firefox mit dieser URL. Die URL enthält vertrauliche Informationen, daher möchte ich nicht, dass sie im Verlauf gespeichert werden.Wie kann ein Bookmarklet auf eine Firefox-Erweiterung zugreifen (oder umgekehrt)?
Ich bin besorgt über den Fall, wo die Erweiterung nicht installiert ist. Wenn es nicht installiert ist und Firefox mit der sensiblen URL gestartet wird, wird es im Verlauf gespeichert und ich kann nichts dagegen tun. Also meine Idee ist ein Bookmarklet zu verwenden.
Ich werde Firefox mit "javascript: window.location.href = 'favorinstallthissplugin.html"; sensitiveinfo =' blahblah '"starten.
Wenn die Erweiterung nicht installiert ist, werden sie auf eine Seite umgeleitet, die sie anweist, sie zu installieren, und die vertraulichen Informationen werden nicht im Verlauf gespeichert. Wenn die Erweiterung IS installiert ist, wird es die Informationen in der Variable sensitiveinfo erfassen und seine Sache tun.
Meine Frage ist, kann das Bookmarklet eine Methode in der Erweiterung anrufen, um die sensiblen Informationen zu übergeben (und wenn ja, wie) oder kann die Erweiterung fangen, wenn JavaScript im Bookmarklet aufgerufen wird?
Wie kann ein Bookmarklet und eine Firefox-Erweiterung kommunizieren?
p.s. Das alternative Mittel, um diese Situation zu umgehen, wäre, dass meine Hauptanwendung Firefox startet und mit der Nebenstelle über Sockets kommuniziert, aber das tue ich nicht gern, weil ich im Laufe der Jahre zu viele Probleme mit Benutzern mit verrückten Firewalls bekommen habe, die Sockets blockieren Kommunikation. Ich würde gerne alles ohne Steckdosen machen, wenn möglich.
Obwohl Sie auf das Objekt Komponenten zugreifen können, sieht es so aus, als ob Sie versuchen, auf eine nützliche Methode/Eigenschaft für dieses Objekt zuzugreifen, z. B. Klassen oder QueryInterface() wird Ihre Berechtigung verweigert. Also ich denke es ist einfach nicht möglich. – mhenry1384