Pregunta

¿Alguien podría 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 permita a JavaScript establecer el nombre y luego mostrar "Hola {Nombre}".Para mostrar comunicación bidireccional, podría tener una propiedad que devuelva el saludo completo.

Aunque no es tan importante, sería bueno si el complemento también funcionara en Chrome.

¿Fue útil?

Solución

Ver también http://developer.mozilla.org/en/Plugins .Y sí, los complementos NPAPI también deberían funcionar en Google Chrome.

[editar 2015:Chrome eliminará pronto la compatibilidad con NPAPI http://blog.chromium.org/2014/11/the-final-countdown-for-npapi.html ]

Otros consejos

Si necesita algo que funcione en varios navegadores (firefox e ie), puede consultar firebreath: http://www.firebreath.org

Para obtener información general sobre "cómo crear un complemento npapi en Windows", tengo algunas publicaciones de blog sobre el tema (también vinculadas a algunas de las fuentes anteriores)

http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/

Sin embargo, realmente recomiendo Firebreath, ya que lo creamos exactamente para personas que no tienen tiempo para hacer los meses (literalmente) de investigación que nos llevó descubrir cómo funciona todo.Sin embargo, si no desea utilizarlo como base para su complemento, aún puede encontrar muchos buenos códigos de ejemplo allí.

¡También debería funcionar en Chrome, Firefox y Safari en Windows!=]

¡buena suerte!

Es bastante sencillo crear un complemento usando NPAPI.Los archivos de encabezado clave que necesitará de la distribución Gecko son npapi.h y npupp.h.Exportará funciones desde 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 proporcionó en la llamada NP_Initialize con controladores para todo el NPP. funciones.

Las funciones clave a implementar a partir de 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 <object> o <embed>, también deberá manejar NPP_NewStream, NPP_WriteReady, NPP_Write y NPP_DestroyStream como una forma para que su complemento obtenga los datos del archivo del navegador.Hay mucho más en la guía para desarrolladores del complemento Gecko.

Echa un vistazo a Nixysa http://code.google.com/p/nixysa/.Intenté crear las muestras en el SDK de Mozilla, pero fueron difíciles de crear.La muestra de Nixysa es fácil de construir.Además, el código es mucho más claro que usar NPAPI directamente.El único inconveniente es que a día 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 haga).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top