Краткое пояснение про плагины NPAPI и PPAPI
Актуализированный репринт авторской статьи с форума Ru-Board • [веб-архив] Общие определения и терминология
Применение NPAPI в качестве NP-плагинов в браузерных расширенияхФункционал некоторых расширений требует использование дополнительных плагинов (NPAPI), позволяющих решать задачи, которые невозможно реализовать на обычных JS. Такие плагины, как правило, пишутся разработчиком аддона именно под конкретное расширение и являются "локальными" – они "заточены" под определённый тип браузеров и не устанавливаются в систему (в отличие от общесистемных NP‑плагинов типа Adobe Flash, Java и др.). До версии 31 включительно во всех версиях хром‑браузеров имелась поддержка этого типа плагинов и, соответственно, расширений на их основе. С января 2014 Google убрала поддержку таких плагинов в своём браузере* Chrome (что мы и видим, соответственно, начиная с версии 32). Что же касается плагинов PPAPI, наиболее известным является медиа‑плагин PepperFlash, распространяемый гуглом в "комплекте" со своим браузером. * Уточнение: на текущий момент все новые версии Chromium-браузеров не работают с такими плагинами полноценно, хотя часть функционала иногда сохраняется. Но эта "часть" уже зависит от содержимого и функций конкретного плагина, грубо говоря – "лотерея", так как заранее неизвестно, что будет работать, а что – "отвалится" (из функций). Тем не менее, в отдельных хромоклонах (в основном – китайских) сохраняется полноценная поддержка NP‑плагинов, что позволяет использовать в них большинство расширений с такими плагинами. Отсюда ответ на вопрос "чем лично мне это грозит?" – в версиях гуглохрома 32+ расширения, применяющие функционал NPAPI, НЕ работают. В частности, отвалилась часть функций у известных расширений PigToolBox и Chrome Toolbox, не работает подавляющее большинство IETab'ов, нормально не работает* проигрывание видео через Adobe Flash. Со временем** подобные расширения будут просто выпилены из Google WebStore (новые не принимаются в "гуглозин" уже с сентября 2013). * Уточнение: вернее сказать "проблематично работает", на текущий момент есть прямой запрет на использование Adobe Flash (несмотря на широкую распространённость этой технологии и использование её на множестве сайтов). Также нужно отметить, что проблемы при работе с этой версией флэша в хром‑браузерах часто возникали и раньше, до "эпохи полного отлома". ** С весны 2014, как говорится, "процесс пошёл" – примером может служить замена установщика расширения Chrome Toolbox на деинсталлятор. :/ Выходы из этой ситуации……у "енд-юзера" примерно следующие:
Зачем всё это написано и как определить……содержит ли расширение "неугодный" плагин: во избежание вопросов "вот тут рекомендуют, а у меня не ставится или не работает" – читаем внимательно описание на странице нужного вам расширения или скачиваем* установщик нужного вам аддона и самостоятельно изучаем содержимое CRX‑файла расширения перед установкой. Если в списке файлов присутствует хотя бы один *.dll, то с очень высокой вероятностью это и есть NPAPI‑плагин и такой аддон во всех новых версиях гугло‑хрома работать НЕ будет (более того – любой новый "хромоног" просто не даст поставить этот аддон**). Обновлённых же версий известных расширений, но уже с PPAPI‑плагинами (или его преемником*** NaCl), к сожалению, в массе не наблюдается… * Можно вручную скачать расширение несколькими способами, распаковать и посмотреть содержимое. ** Есть, конечно, ещё и установка в режиме разработчика… *** Эта технология на текущий момент также считается "устаревшей" и практически не используется. Насколько это актуальноВ версиях хром-браузеров 42+ поддержка NP-плагинов отключена по умолчанию, при попытке запуска даже Adobe Flash каждый раз выдаётся запрос на однократный запуск. Для отключения запроса и автоматического разрешения запуска таких плагинов можно применить ключ --enable-npapi или включить опцию chrome://flags/#enable-npapi. С версии 45 поддержка NPAPI отключена полностью* и указанные ключ и флаг уже не работают (подробности). В общем и целом, во всех современных версиях "классических" браузеров на движке Chromium NPAPI плагины не поддерживаются от слова "совсем". Более того, с января 2021 года во всех таких браузерах полностью отключена поддержка последнего "могиканина", плагина Adobe Flash во всех его видах, включая PPAPI-версию (компания Adobe также прекратила подержку этого плагина). Насколько "всё плохо"На текущий момент, взамен отломанного простого и удобного функционала исполняемых плагинов, предлагаются отдельные решения (проще говоря – "костыли") на базе внешних модулей в виде различных узкоспециализированных "переходников", выпускаемых разработчиками под конкретные задачи. Все эти решения не являются универсальными и не могут быть использованы многократно в разных расширениях по одной простой причине – все они нестандартны и чаще всего "заточены" под единственное браузерное дополнение. Положение осложняется ещё и тем, что в подобных случаях применяются самые различные методы построения, включая .NET и другие тяжеловесные фреймворки. Во всей этой "смуте" есть и хорошая новость – несмотря на все запреты, даже в WebStore появляются отдельные расширения, разработчики которых сумели обойти все ограничения. Примером одного из первых решений такого рода может служить этот аддон (обсуждение – отсюда и далее, конечные варианты рабочих решений – тут). Кроме того, сегодня есть и ещё один вариант использования "запрещённых" плагинов – в отдельных хромоклонах нормальная поддержка NPAPI сохраняется и в новых версиях, вплоть до 86 движка в китайском 360 Extreme Explorer. Да, придётся менять браузер, но если какой-то NPAPI плагин действительно необходим, это вполне оправданно. В общем, не всё так уж плохо, при желании выход можно найти… Ссылки по теме |
Всего комментариев: 0 |