В чем разница между расширением Firefox и плагином? - PullRequest
22 голосов
/ 08 ноября 2010

В Firefox есть плагины и расширения.Не могли бы вы объяснить мне, почему эти аддоны имеют разные названия и вкладки?Различаются ли они так сильно, что им нужны разные имена?Я думаю, что немного неестественно различать эти вещи, расширения имеют так много и больше функциональности, чего им не хватает для сравнения с плагинами?

Ответы [ 3 ]

31 голосов
/ 08 ноября 2010

Разница является как исторической, так и реальной:

  • плагины - это скомпилированные загружаемые модули, изначально произошедшие от NPAPI ;они могут жить за пределами пространства процессов браузера (что приводит к всевозможным забавным проблемам совместимости и уязвимости).Наиболее распространенными примерами этого являются Flash и Java - оба запрашивают подокно («viewport» или «canvas» (не HTML5 canvas - это совсем другое: нативная часть веб-страницы)) внутри веб-страницы и обрабатываютСами по себе, в значительной степени независимы от браузера.
  • расширения написаны в основном на JavaScript и XUL .Поскольку расширения действуют как часть браузера, они имеют более широкие права доступа, чем JS-in-a-web-страница, но они все еще подвержены некоторым ограничениям.Наиболее распространенный способ интеграции - это подключиться к некоторой части функциональности FF и расширить .

Итак, хотя плагины и расширения могут отображаться быть связанным, они очень разные технологии за кулисами.

11 голосов
/ 08 ноября 2010

По словам Mozilla, плагины помогают браузеру отображать контент, например, воспроизведение мультимедиа.Расширения фактически добавляют новую функциональность в браузер.

См. Первые пара абзацев здесь: https://developer.mozilla.org/en/extensions

5 голосов
/ 08 ноября 2010

Одна из них - это программы, которые работают параллельно с Firefox.Они получают холст, и когда они рисуют на холсте, Firefox отображает его.Известные примеры: Flash, Java, QuakeLive.

Другие программы, которые запускаются в интерпретаторе / компиляторе javascript firefox.Они расширяют функциональность Firefox более напрямую, так как они имеют доступ к внутренним компонентам Firefox и не являются просто холстом.Кроме того, они гораздо более переносимы, поскольку не требуют такой же поддержки операционной системы.

У обоих подходов есть свои преимущества и недостатки, и они решают разные задачи.

...