ser - ¿Cómo escribir un complemento C++ FireFox 3(no extensión) en Windows?
leethax firefox 58 (4)
¿Podría alguien escribir una guía paso a paso para desarrollar un complemento basado en C ++ para Firefox en Windows?
Los enlaces y ejemplos en http://www.mozilla.org/projects/plugins/ son todos antiguos e inexactos: el enlace "NUEVO" se agregó a la página en 2004.
El ejemplo podría ser cualquier cosa, pero estaba pensando en un complemento que permite que JavaScript establezca el nombre y luego muestra "Hola {Nombre}". Para mostrar la comunicación bidireccional, podría tener una propiedad que devuelva el saludo completo.
Aunque no es tan importante, sería bueno que el complemento también funcione en Chrome.
Es bastante simple hacer un plugin usando NPAPI. Los archivos de encabezado clave que necesitará de la distribución de Gecko son npapi.hy npupp.h. Exporte funciones de su DLL de complemento o biblioteca compartida con los nombres NP_Initialize, NP_Shutdown, NP_GetMIMEDescription y NP_GetValue, y también deberá completar la tabla de símbolos que se le asignó en la llamada NP_Initialize con controladores para todos los NPP funciones.
Las funciones clave para implementar desde ese conjunto son NPP_New y NPP_Destroy. Estos definen el ciclo de vida de una instancia de complemento. Si va a manejar un archivo multimedia vinculado desde un <objeto> o <embed>, también deberá tratar con NPP_NewStream, NPP_WriteReady, NPP_Write y NPP_DestroyStream como una forma de que su complemento obtenga los datos del archivo del archivo. navegador. Hay mucho más en la guía del desarrollador de Gecko Plugin .
Consulte Nixysa http://code.google.com/p/nixysa/ . Traté de crear las muestras en el SDK de Mozilla pero eran difíciles de construir. La muestra de Nixysa es fácil de construir. Además, el código es mucho más ordenado que el uso directo de NPAPI. El único inconveniente es que a partir de hoy Nixysa no está bien documentado. Tengo una muestra de Nixysa que implementa devoluciones de llamada si lo desea (planeo enviar un parche a Nixysa cuando lo encuentre).
Si necesita algo que funcione en todos los navegadores (Firefox y, por ejemplo), puede consultar firebreath: http://www.firebreath.org
Para obtener información general sobre "cómo crear un plugin npapi en Windows", tengo algunas publicaciones en el blog sobre el tema (también está vinculado desde algunas de las fuentes anteriores)
http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
Realmente recomiendo Firebreath, sin embargo, ya que lo creamos exactamente para personas que no tienen tiempo para hacer los meses (literalmente) de investigación que nos llevó a descubrir cómo funciona todo. Sin embargo, si no quiere usarlo como base para su complemento, aún puede encontrar un buen código de ejemplo allí.
¡debería funcionar también en Chrome, Firefox y Safari en Windows! =]
¡buena suerte!
Ver también http://developer.mozilla.org/en/Plugins . Y sí, los complementos de NPAPI deberían funcionar en Google Chrome también.
[edición 2015: Chrome retira soporte para NPAPI pronto http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html ]