Расширения Google Chrome и NPAPI - PullRequest
15 голосов
/ 12 ноября 2010

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

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

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

Спасибо.

РЕДАКТИРОВАТЬ: После прочтения этого я понял, что невозможно элегантно решить проблему мультиплатформенности в одном crx.Но - возможно ли загрузить разные crx-s для каждой платформы в магазин расширений Chrome?

1 Ответ

16 голосов
/ 12 ноября 2010

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

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

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

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

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

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

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

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

...