Hilf mir eine Firefox Erweiterung zu erstellen (Javascript XPCOM Component)

9

Ich habe mir verschiedene Tutorials angeschaut und ich weiß, dass ich in der Nähe bin, aber ich verliere mich in Implementierungsdetails, weil einige von ihnen ein bisschen veraltet sind und sich seit Firefox 3 ein paar Dinge geändert haben. Ich habe schon < a href="https://stackoverflow.com/questions/4701804/help-with-firefox-extension"> das Javascript für die Firefox-Erweiterung geschrieben , jetzt muss ich es in eine XPCOM-Komponente machen.

Dies ist die Funktionalität, die ich brauche: Meine Javascript-Datei ist einfach, ich habe zwei Funktionen startServer() und stopServer . Ich muss startServer() starten, wenn der Browser startet und stopServer() , wenn Firefox beendet wird.

Bearbeiten:

Ich habe meinen Code mit einer funktionierenden Lösung aktualisiert (Danke an Neil). Das Folgende ist in MyExtension/components/myextension.js .

%Vor%     
David 23.05.2017, 12:14
quelle

1 Antwort

4

Soweit ich das beurteilen kann, geht der gesamte Code in Ihre Komponente.

Sie benötigen ein JavaScript-Objekt, das Ihre Komponente darstellt und es beim Komponentenregistrator registriert. (Dies kann ein neues Objekt sein oder Sie können ein vorhandenes Objekt mehrfach bearbeiten.) Die Art und Weise, wie Sie das tun, hängt davon ab, ob Sie Firefox 3.x oder Firefox 4 als Ziel haben.

Sie müssen sich mit dem Category Manager für die Benachrichtigung profile-after-change registrieren. Wie das gemacht wird, hängt auch davon ab, ob Sie Firefox 3, Firefox 3.5 / 6 oder Firefox 4 als Ziel haben.

Wenn die Profil-nach-Änderung-Benachrichtigung ausgelöst wird, wird Ihre Komponente erstellt und die Methode observe aufgerufen. Hier starten Sie Ihren Server und bitten Sie, die Benachrichtigung über die Beendigung der Anwendung zu beachten. Beachten Sie, dass dies auch die Methode "observe" aufruft, damit überprüft werden muss, welche Benachrichtigung es erhält.

%Vor%     
Neil 29.01.2011, 17:10
quelle