Расширения Google Chrome и NPAPI

Мне нужно написать некоторое расширение Google Chrome. Проблема в том, что API JavaScript Chrome не дает мне достаточной мощности - мне нужно использовать собственный код. Я думал о написании плагина NPAPI, который предоставит расширение некоторым пользовательским JS API.

Можно ли упаковать расширение, а также настраиваемый плагин NPAPI внутри .crx, а затем загрузить его в Chrome Extensions Store?

Другая проблема с этим методом заключается в том, что плагин NPAPI будет иметь множество версий: Linux, Windows, OS X, x86, x86-64 и т.д. Можно ли упаковать все это в crx и использовать лучшую версию?

Спасибо.

EDIT: После прочтения этого я понял, что невозможно элегантно решить многоплатформенную проблему в один крик. Но - возможно ли загружать разные crx-s для каждой платформы в хранилище расширений Chrome?

Ответы

Ответ 1

Если вам нужна мультиплатформа в одном CRX, вы должны поместить их в этот порядок в манифест:

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

Помните, что загрузка вашего расширения NPAPI в хранилище будет работать только в расширениях Google Chrome. В случае с Google Chrome OS (который использует Google Chrome) вы не сможете использовать NPAPI.

Но вы должны изучить PPAPI, который будет рекомендован для разработки плагинов для расширения:

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

В то же время NPAPI в расширениях, вы должны следовать этому руководству (что отлично работает):

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

Просто помните, вам действительно нужно использовать NPAPI в своем расширении? Если бы вы могли найти обходное решение HTML5, было бы лучше.