15

Je dois écrire une extension Google Chrome. Le problème est que les API JavaScript de Chrome ne me donnent pas assez de puissance - j'ai besoin d'utiliser du code natif. J'ai pensé à écrire un plug-in NPAPI qui fournira à l'extension certaines API JS personnalisées.Google Chrome Extensions et NPAPI

Est-il possible d'empaqueter l'extension, plus le plugin NPAPI personnalisé à l'intérieur d'un fichier .crx, puis de le télécharger sur le Chrome Extensions Store? Un autre problème avec cette méthode est que le plugin NPAPI aura de nombreuses versions: Linux, Windows, OS X, x86, x86-64, etc. Est-il possible de les empaqueter dans le crx et d'utiliser la meilleure version?

Merci. Après avoir lu this, j'ai réalisé qu'il n'est pas possible de résoudre avec élégance le problème multiplateforme dans un crx. Mais - est-il possible de télécharger différents crx-s pour chaque plate-forme dans le magasin d'extension Chrome?

+0

Dans votre montage, vous avez dit que ce n'était pas possible, mais est-ce toujours vrai à la lumière de la réponse de Mohamed ci-dessous? –

Répondre

16

Si vous voulez la plate-forme multi dans un CRX, vous devez les mettre dans cet ordre dans le manifeste:

"plugins": [ 
    { "path": "plugin-windows.dll" }, 
    { "path": "plugin-linux.so" }, 
    { "path": "plugin-mac.plugin" } 
] 

Rappelez-vous Télécharger l'extension NPAPI au magasin ne fonctionne que dans Google Chrome Extensions. Dans le cas de Google Chrome OS (qui utilise Google Chrome), vous ne pourrez pas utiliser NPAPI.

Mais vous devriez regarder dans PPAPI qui sera le développement du plugin faire méthode recommandée pour l'extension:

http://src.chromium.org/viewvc/chrome/trunk/src/ppapi/

Dans le NPAPI de temps dans les extensions, vous devez suivre ce guide (qui fonctionne très bien):

http://code.google.com/chrome/extensions/npapi.html

Rappelez-vous, avez-vous vraiment besoin d'utiliser NPAPI dans votre extension? Si vous pouviez trouver une solution de contournement HTML5, ce serait mieux.

+0

les fichiers dll/so doivent être compilés pour x86 ou x86-64? Dans quelles versions de Google Chrome PPAPI fonctionne-t-il? –

+0

PPAPI est actuellement en cours, vous pouvez trouver plus d'informations à ce sujet, ici: http://www.chromium.org/developers/design-documents/pepper-plugin-implementation Eh bien, la compilation ne devrait pas importer (afaik), J'ai un système 64 bits et je le compile normalement là-bas et il fonctionne sur les plates-formes 32 bits. –

+1

@MohamedMansour Pour Linux, c'est important. Je dois compiler * .so fichier séparément pour Linux 32 bits et 64 bits pour le projet http://slimtext.org –