15

Ho bisogno di scrivere qualche estensione di Google Chrome. Il problema è che le API JavaScript di Chrome non mi danno abbastanza potenza: devo usare il codice nativo. Ho pensato di scrivere un plug-in NPAPI che fornirà l'estensione di alcune API JS personalizzate.Google Chrome Extensions e NPAPI

È possibile comprimere l'estensione, oltre al plug-in NPAPI personalizzato all'interno di .crx, e quindi caricarlo su Chrome Extensions Store?

Un altro problema con questo metodo è che il plug-in NPAPI avrà molte versioni: Linux, Windows, OS X, x86, x86-64, ecc. È possibile comprimere tutti questi in crx e utilizzare la versione migliore?

Grazie.

MODIFICA: Dopo aver letto this, mi sono reso conto che non è possibile risolvere elegantemente il problema multi-piattaforma in un crx. Ma - è possibile caricare diversi crx-s per ogni piattaforma nell'archivio delle estensioni di Chrome?

+0

Nella tua modifica hai detto che non è possibile, ma è ancora vero alla luce della risposta di Mohamed in basso? –

risposta

16

Se si desidera la multi piattaforma in una CRX, si dovrebbe metterli in questo ordine entro il manifesto:

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

Ricordati di caricare il proprio interno NPAPI al negozio funzionerà solo in estensioni di Google Chrome. Nel caso di Google Chrome OS (che utilizza Google Chrome), non potrai utilizzare NPAPI.

Ma si dovrebbe guardare in PPAPI che sarà il modo consigliato facendo lo sviluppo del plugin per l'estensione:

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

Nel NPAPI frattempo nelle estensioni, è necessario seguire questa guida (che funziona alla grande):

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

Basta ricordare, si fa davvero bisogno di utilizzare NPAPI nel proprio interno? Se si potesse trovare una soluzione alternativa HTML5, sarebbe meglio.

+0

i file dll/so dovrebbero essere compilati per x86 o x86-64? In quali versioni di Google Chrome funziona PPAPI? –

+0

PPAPI è attualmente in fase di elaborazione, è possibile trovare ulteriori informazioni al riguardo, qui: http://www.chromium.org/developers/design-documents/pepper-plugin-implementation Bene, la compilazione non dovrebbe avere importanza (afaik), Ho un sistema a 64 bit e lo compilo normalmente lì e funziona su piattaforme a 32 bit. –

+1

@MohamedMansour Per Linux è importante. Devo compilare * .so file separatamente per Linux a 32 bit e 64 bit per il progetto http://slimtext.org –