Описание тега npapi
Интерфейс прикладного программирования подключаемого модуля Netscape (NPAPI) - это кроссплатформенная архитектура подключаемого модуля, используемая многими браузерами, за заметным исключением Internet Explorer.
Устаревание
NPAPI постепенно устаревает в Google (Chrome) и Mozilla (Firefox):
- Начиная с 1 января 2014 года, Chrome по умолчанию отключил плагины NPAPI (за исключением нескольких популярных плагинов). Однако пользователи получают запрос и могут выбрать активацию плагина.
Ожидается, что Chrome полностью прекратит поддержку NPAPI в январе 2015 года.
Начиная с Firefox версии 30 (10 июня 2014 г.), NPAPI отключен по умолчанию (опять же, за временным исключением нескольких плагинов). Пользователи по-прежнему могут включать определенные плагины с помощью меню настроек Firefox.
Альтернативы
Есть несколько способов заменить почти не функционирующие плагины NPAPI:
В Google Chrome есть 2 основных варианта: NaCl (Native Client) и расширение Chrome с Native Messaging - каждый из них предлагает разные решения.
В Firefox от Mozilla распространенной альтернативой является использование функции js-ctypes, которая позволяет напрямую загружать файлы.dll. Команда Firefox указала, что в конечном итоге они будут поддерживать собственный обмен сообщениями, как это делает Chrome.
Базовый обзор вариантов (со сравнением их сильных и слабых сторон) доступен здесь:
http://www.firebreath.org/display/documentation/Browser+Plugins+in+a+post-NPAPI+world
Команда FireBreath также выпустила FireBreath 2 с очень скудной документацией (пользователей просят помочь ее документировать), которая пытается заставить плагины FireBreath работать через Native Messaging в дополнение к поддержке NPAPI и ActiveX.
Ресурсы
- npapi-sdk - Официальный репозиторий для заголовков NPAPI.
- npsimple - "Привет, мир!" НПАПИ.
- Центр разработчиков Mozilla по плагинам и NPAPI.
- FireBreath, кроссплатформенный фреймворк, создающий плагины NPAPI и ActiveX из одной исходной базы, который может работать с Windows, Mac и *nix.
- Рамки Джюс включает в себя классы - оболочки для плагинов браузера.
- Nixysa, фреймворк для генерации связующего кода для плагинов NPAPI.
- Политика Mozilla в отношении плагинов из белого списка.
- Объявление Google об отказе от поддержки NPAPI.