15

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

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

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

Спасибо.

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

+0

В своем правлении вы сказали, что это невозможно, но это все еще верно в свете ответа Мохамеда ниже? –

ответ

16

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

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

Помните загрузке расширения NPAPI в магазин будет работать только в Google Chrome Extensions. В случае с 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, было бы лучше.

+0

dll/so файлы должны быть скомпилированы для x86 или x86-64? В каких версиях Google Chrome работает PPAPI? –

+0

PPAPI в настоящее время находится в процессе разработки, вы можете найти дополнительную информацию по этому вопросу: http://www.chromium.org/developers/design-documents/pepper-plugin-implementation Ну, компиляция не должна иметь значения (afaik), У меня 64-битная система, и я ее обычно компилирую, и она работает на 32-битных платформах. –

+1

@MohamedMansour Для Linux это имеет значение. Я должен скомпилировать * .so файл отдельно для Linux 32-разрядных и 64-разрядных для проекта http://slimtext.org –

 Смежные вопросы

  • Нет связанных вопросов^_^