Wie schreibt man ein C++ FireFox 3 plugin (nicht-Erweiterung) auf Windows?
Könnte jemand schreiben-up eine Schritt-für-Schritt-Anleitung zu der Entwicklung einer C++ - basierten plugin für FireFox auf Windows?
Links und Beispiele auf http://www.mozilla.org/projects/plugins/ sind alle alt und ungenau - der "NEUE" link wurde Hinzugefügt, um die Seite im Jahr 2004.
Beispiel könnte alles sein, aber ich dachte ein plugin, mit JavaScript den Namen und zeigt dann "Hallo {Name}". Zeigen 2-Wege-Kommunikation, könnte es eine Eigenschaft gibt den vollständigen Anrede.
Obwohl nicht so wichtig, es wäre schön, wenn das plugin funktioniert in Chrome auch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Siehe auch http://developer.mozilla.org/en/Plugins . Und ja, NPAPI-plugins sollten mit Google Chrome sowie.
[edit 2015: Chrome entfernt die Unterstützung für NPAPI bald http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html ]
Wenn Sie brauchen etwas, das funktioniert cross-browser (firefox und ie), kann man sich bei firebreath: http://www.firebreath.org
Zur Allgemeinen "wie Baue ich ein npapi-plugin unter windows" Informationen, habe ich ein paar blog-posts auf das Thema (Link auf einige der oben genannten Quellen als auch)
http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
Ich wirklich empfehlen, firebreath, jedoch, da wir es erstellt genau für Leute, die keine Zeit haben, um die Monate (buchstäblich) der Forschung, die es dauerte, um herauszufinden, wie alles funktioniert. Wenn Sie nicht wollen, es zu benutzen, als basis für dein plugin, obwohl, können Sie immer noch eine Menge gutes Beispiel-code.
sollte auf chrome, firefox und safari auf windows auch! =]
Glück!
Es ist ziemlich einfach zu machen, ein NPAPI-plugin mit. Die wichtigsten header-Dateien, die Sie benötigen, aus der Gecko-Verteilung sind npapi.h und npupp.h. Du wirst export-Funktionen aus dem plugin-DLL oder shared library mit dem Namen NP_Initialize, NP_Shutdown, NP_GetMIMEDescription, und NP_GetValue, und Sie müssen auch füllen Sie in die symbol-Tabelle, die Sie in der NP_Initialize Aufruf mit einem Handler für alle KKW-Funktionen.
Den wichtigsten Funktionen zu implementieren, die von dieser festzulegen sind NPP_New und NPP_Destroy. Diese definieren den Lebenszyklus einer plugin-Instanz. Wenn Sie gehen, um zu behandeln eine media-Datei verknüpft, aus einem <object> oder <embed>, müssen Sie sich auch mit NPP_NewStream, NPP_WriteReady, NPP_Write, und NPP_DestroyStream als einen Weg, für dein plugin, um die Datei aus dem browser. Es gibt viel mehr in das Gecko Plugin developer ' s guide.
Check-out Nixysa http://code.google.com/p/nixysa/. Ich habe versucht, zu bauen, die Proben in der Mozilla SDK, aber Sie waren schwer zu bauen. Die Nixysa Beispiel ist leicht zu bauen. Plus der code ist viel sauberer als direkt über NPAPI. Der einzige Nachteil ist, dass ab heute Nixysa ist nicht gut dokumentiert. Ich habe eine Nixysa Probe, die Rückrufe, wenn Sie es wollen (ich Plane auf die Einreichung eines patch zu Nixysa, wenn ich dazu komme).