plugin plug internet google cómo como chrome activar c++ npapi browser-plugin

c++ - internet - plugin java chrome



¿Cómo escribir un plugin de navegador? (4)

Tengo curiosidad sobre el procedimiento para escribir complementos de navegador para navegadores como Chrome, Safari y Opera. Estoy pensando específicamente en Windows aquí y preferiría trabajar con C ++.

¿Hay alguna herramienta o tutorial que detalle el proceso?

Nota : No me refiero a extensiones o ''complementos''. Me refiero a un complemento similar a cómo Flash y Adobe Reader tienen complementos para manejar tipos de contenido específicos.


Como otros señalan, los complementos para esos navegadores se escriben usando el NPAPI .

Nota: Firefox y Chrome predeterminan la mayoría de los complementos NPAPI , y Chrome planea eliminar por completo NPAPI . NPAPI para nuevos proyectos no se recomienda en este punto.

Recursos para comenzar con NPAPI:

El NPAPI en sí mismo es, sin embargo, relativamente de bajo nivel, pero hay herramientas y marcos que pueden ayudarlo con esto:

  • FireBreath - cross-browser, multiplataforma marco de trabajo para complementos
  • Nixysa : genera un código de pegamento para los complementos de NPAPI
  • JUCE - framework de aplicaciones también brinda soporte para complementos
  • QtBrowserPlugin - Marco de plugin de navegador basado en Qt

Investigué algunos marcos enumerados por Georg, esto es lo que obtengo:

  1. Aliento de fuego. Creo que es casi el mejor disponible. Puede crear un complemento de navegador multiplataforma con FireBreath en unos días. Encontré algunos inconvenientes: no es compatible con los caracteres UTF-8 en Windows. Por ejemplo: si hay caracteres chinos en un nombre de archivo, no puede leer el contenido de ese archivo. Creo que boost / locale puede resolver este problema. Pero FireBreath no contiene boost / locale. Sí, puedes usar boost externo, pero pasé varios días configurando y retocando y todavía no logro compilarlo en Windows. El autor usa cmake para reconocer el código y los subproyectos. Y creó una gran cantidad de scripts bat o shell y macros de cmake, es muy difícil de entender y configurar. En resumen, si quieres algo que FireBreath no proporciona actualmente, tendrás mala suerte, es muy difícil agregar nuevas funciones.

  2. Nixysa. No creo que se esté desarrollando activamente. La documentación es pobre. Y a partir de los comentarios de la página wiki: https://code.google.com/p/nixysa/wiki/HelloWorldWalkThru Podemos saber que los usuarios no pudieron obtener ayuda en absoluto y que tenían problemas para ejecutarlo en Windows

  3. JUCE. No es especialmente para crear complementos de navegador. NO es compatible con Linux. El autor cree que NPAPI va a morir, por lo que no tiene ningún plan para admitir Linux o agregar nuevas funciones.

  4. QtBrowserPlugin. No puede encontrarlo en la documentación posterior a QT 4.5. En otras palabras, no se mantiene (y se elimina de Qt 5.0)

Actualizaré esta respuesta una vez que encuentre más.

Actualización: Chrome dejó de recibir asistencia de NPAPI . Creo que en el futuro será cada vez más difícil escribir complementos en C ++ porque carece de soporte de los navegadores.



Si conoces Qt, tienen algunas clases que facilitan la implementación de complementos del navegador