Je suis curieux de connaître la procédure d'écriture de plugins de navigateur pour des navigateurs tels que Chrome, Safari et Opera. Je pense spécifiquement à Windows ici et je préférerais travailler avec C++.
Existe-t-il des outils ou des tutoriels qui détaillent le processus?
Note: Je ne fais pas référence aux extensions ou "addons". Je fais référence à un plugin similaire à la façon dont Flash et Adobe Reader ont des plugins pour gérer des types de contenu spécifiques.
Comme d'autres le soulignent, les plugins pour ces navigateurs sont écrits en utilisant NPAPI .
Remarque: Firefox et Chrome sera par défaut la plupart des plugins pour cliquer pour jouer bientôt , avec Chrome planification de éliminer complètement le NPAPI . Le NPAPI pour les nouveaux projets est déconseillé à ce stade.
Ressources pour démarrer avec NPAPI:
Le NPAPI lui-même est cependant de niveau relativement bas, mais il existe des outils et des cadres qui peuvent vous y aider:
J'ai étudié certains frameworks listés par Georg, voici ce que j'obtiens:
Souffle de feu. Je pense que c'est presque le meilleur disponible. Vous pouvez créer un plugin de navigateur multiplateforme avec FireBreath en quelques jours. J'ai trouvé quelques inconvénients: il ne prend pas en charge les caractères utf-8 sous Windows. Par exemple: s'il y a des caractères chinois dans un nom de fichier, vous ne pouvez pas lire le contenu de ce fichier. Je crois que boost/locale peut résoudre ce problème. Mais FireBreath ne contient pas de boost/locale. Oui, vous pouvez utiliser un boost externe, mais j'ai passé plusieurs jours à configurer et à peaufiner et je n'arrive toujours pas à le compiler sous Windows. L'auteur utilise cmake pour organiser le code et les sous-projets. Et il a créé beaucoup de scripts bat ou Shell et de macros cmake, c'est très difficile à comprendre et à configurer. En bref, si vous voulez quelque chose que FireBreath ne fournit actuellement pas, vous aurez de la malchance, il est très difficile d'ajouter de nouvelles fonctionnalités.
Nixysa. Je ne pense pas qu'il soit activement développé. La documentation est pauvre. Et à partir des commentaires de la page wiki: https://code.google.com/p/nixysa/wiki/HelloWorldWalkThr Nous pouvons savoir que les utilisateurs ne pouvaient pas du tout obtenir d'aide et avaient du mal à l'obtenir fonctionnant sous Windows
JUCE. Ce n'est pas spécialement pour créer des plugins de navigateur. Il ne prend PAS en charge Linux. L'auteur pense que NPAPI va mourir donc il n'a pas l'intention de supporter Linux ou d'ajouter de nouvelles fonctionnalités.
QtBrowserPlugin. Vous ne pouvez pas le trouver dans la documentation postérieure à QT 4.5. Dans un autre Word, il n'est pas maintenu (et supprimé de Qt 5.0)
Je mettrai à jour cette réponse une fois que j'en trouverai plus.
Mise à jour: Chrome a chuté [~ # ~] npapi [~ # ~] support. Je pense que dans le futur il devient de plus en plus difficile d'écrire des plugins en C++ en raison du manque de support des navigateurs.
Des navigateurs comme les navigateurs basés sur Netscape, Chrome, Safari et Opera utilise le système de plugins NPAPI, vous pouvez apprendre à écrire des plugins NPAPI dans https://developer.mozilla.org/en/Plugins et http://code.google.com/chrome/extensions/npapi.html
Si vous connaissez Qt, ils ont des classes qui facilitent l'implémentation des plug-ins de navigateur