Плагин NPAPI не загружен в Chrome
У меня есть плагин npapi, состоящий из файла dll и manifest.json. Эта DLL-библиотека npapi определяется как плагин на Chrome, т.е. она указана на странице about: plugins. Однако, когда я вызываю этот плагин на примере html-страницы, используя тег, он говорит: "Плагин не удалось загрузить". Любые идеи, почему этот плагин не загружается в Chrome.
Спасибо
2 ответа
С информацией, которую вы предоставили, невозможно сказать наверняка, но я думаю, это одна из двух вещей:
Ваш плагин может иметь внешнюю зависимость, которая не найдена. Если вы ссылаетесь на другую библиотеку, для которой требуется файл.DLL (или если вы используете /MD для версии DLL CRT), и DLL не может быть найдена, когда браузер пытается загрузить DLL плагина, тогда ваш плагин тихо не сможет загрузить
Возможно, DLL вашего плагина загружается, но затем выдает исключение, неправильно обрабатывает вещи и т. Д. Таким образом, что браузер решает, что это недопустимый плагин. Скорее всего, это не так, так как Chrome обычно сообщает о сбое, а не об отсутствующем плагине. Вы можете убедиться в этом, запустив Chrome с аргументом командной строки --plugin-startup-dialog, который вызовет всплывающее диалоговое окно с pid до загрузки DLL плагина. Затем вы можете подключить отладчик и сказать ему, чтобы продолжить.
Из этих двух, первая, безусловно, самая распространенная проблема, которую я вижу. Вы можете устранить неполадки, получив Dependency Walker (зависимость.exe) и открыв DLL на месте, чтобы увидеть, чего не хватает. Если вы видите, что ieshims.dll игнорирует его - он всегда думает, что его не хватает, но находит его во время работы браузера.
Дополнительные советы по отладке плагинов можно найти по адресу http://npapi.com/x/MYAG и, конечно, если вы еще этого не сделаете, я бы порекомендовал использовать платформу FireBreath, которая решает большинство проблем NPAPI, с которыми вы можете столкнуться.
Удачи!
Вы должны определить тип MIME в файле плагина.rc. В противном случае плагин не загружается должным образом:
ЗНАЧЕНИЕ "MIMEType", "application/myapp"