Вы должны использовать , пометьте плагин с "public": true
в манифесте ваших расширений. Плагин должен отображаться в about:plugins
.
Если подключаемый модуль обнаруживается, убедитесь, что тип MIME и расширения файлов в about: plugins соответствуют типу вставляемого элемента на страницу. Также проверьте, имеют ли другие плагины такой же тип MIME. Если плагин, который указан ранее, имеет такой же тип MIME, будет загружен , что плагин .
Если ваш плагин не появляется, или он появляется, но не работает, у вас есть более детективная работа:
Вы можете запустить Chrome с флагом --debug-plugin-loading
, чтобы получить дополнительную запись в инфраструктуру плагина. Некоторые из этих сообщений выглядят так:
[24634:-1392008512:1466799063452984:ERROR:plugin_list.cc(358)] Loading plugin /Library/Internet Plug-Ins/Flash Player.plugin
Несмотря на то, что они содержат слово ERROR, эти сообщения не являются ошибками. ОШИБКА - это просто уровень журнала. Используйте Поиск кода Chromium и файлы, упомянутые в журнале (например, plugin_list.cc), чтобы прочитать сообщения журнала в контексте. Chrome использует многопроцессную архитектуру . Помните, что выходные данные могут чередовать сообщения журнала от разных процессов.
Если у вас есть источник вашего плагина, вы помещаете логирующие операторы в код вашего плагина. Например, в OS X вы могли бы написать:
NPError NP_GetEntryPoints(NPPluginFuncs *pluginFuncs) {
NSLog(@"FOO NP_GetEntryPoints");
…
, а затем
2012-08-20 11:22:56.799 Google Chrome Helper EH[23544:b03] FOO NP_GetEntryPoints
появится в журнале. Эти операторы журнала могут дать вам дополнительные подсказки о том, как далеко загружается плагин, прежде чем он завершится сбоем.
Это потребует некоторых усилий, но вы можете собрать Chromium с нуля и использовать опцию командной строки --plugin-launcher
, чтобы получить отладчик загрузчика плагинов на уровне исходного кода.