Расширение (Mozilla)

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Окно списка установленных расширений Firefox

Расширения (англ. extensions) — это маленькие устанавливаемые модули улучшений, вид дополнений, в проектах Mozilla Foundation (Mozilla Thunderbird, SeaMonkey, Netscape, Nvu, Flock, Sunbird, и Mozilla Suite) и совместимых с ними (например, Mozilla Firefox — Portable Edition и GNUzilla).

Необходимо заметить, что расширения (например, Adblock Plus и Firebug), темы («обои» и «полные»), локализации и плагины (например, Adobe Flash, QuickTime, Java) к Firefox — не одно и то же, а лишь различные виды дополнений.

Описание

Расширения добавляют новые возможности в программы или разрешают модифицировать существующие настройки. Они могут добавить практически что угодно: от кнопки на панели инструментов до совершенно новых возможностей.

Механизм расширений превращает изначальную аскетичность браузера Mozilla Firefox в одно из основных преимуществ: устанавливая расширения, пользователь может выбрать именно ту функциональность, которая необходима ему для комфортного серфинга, при этом не занимая рабочее пространство и ресурсы ненужными функциями. Однако это требует некоторого времени и квалификации на настройку и поиск необходимых расширений совместимой версии.

Некоторые расширения Firefox могут привести к утечкам памяти или чрезмерной загрузке процессора. Существуют списки таких расширений и возможных путей обхода проблем с ними[1][2].

Технологии расширений

[обновить данные]

Расширения для продуктов Mozilla создаются при помощи языка разметки XUL, который достаточно лёгок в освоении, и языка сценариев JavaScript, с которым знакомы большинство веб-разработчиков. Поэтому научиться создавать небольшие расширения для собственных нужд может практически каждый веб-мастер.

  • XPI — Кроссплатформенный модуль инсталляции.
  • JavaScript — Основной язык браузеров Mozilla.
  • XUL (XML Язык интерфейса пользователя) — Для определения UI и взаимодействия с пользователем.
  • DOM (Объектная модель документа) — Используется, чтобы изменять XUL в реальном времени или для правки HTML, который уже загружен.
  • CSS (Каскадные таблицы стилей).
  • XPCOM/XPConnect.

Совместимость версий

В каждом расширении указано, к какой версии браузера оно подходит. Но зачастую при выходе новых версий браузера совместимость со старыми расширениями остаётся, но разработчики просто не успевают указать это в дистрибутиве расширения.

Чтобы заставить старые расширения работать с новыми версиям Firefox, можно установить расширение Add-on Compatibility Reporter.

Также можно преодолеть проблему, просто изменив вручную параметр «extensions.checkCompatibility.D.Dl», где «D.D» — номер версии браузера, а «l» — буква «a» (Alpha) или «b» (Beta), (например, «extensions.checkCompatibility.4.0b»), в about:config или используя Nightly Tester Tools [1]. До версии Firefox 3.6 номер версии в параметре «extensions.checkCompatibility» не указывался. Разработчики приняли решение о том, чтобы не делать одинаковое имя настройки в целях безопасности: многие пользователи включали её один раз и забывали о ней, тогда как браузер и расширения развиваются, наступает момент, когда имеющиеся старые расширения не будут работать, в них может оказаться уязвимость, или они приведут к нестабильности работы браузера. Если пользователь собственноручно обновляет имя этой записи в настройках, от версии к версии, то это значит, что он берёт ответственность за то, какие несовместимые расширения он использует.

Также можно вручную распаковать XPI-файл установщика и изменить версию в файле install.rdf.

Например:

<em:maxVersion>1.5.*.*</em:maxVersion>

чтобы использовать расширение в Firefox 3.7a1pre нужно заменить на

<em:maxVersion>3.7a1pre</em:maxVersion>

Примечания

  1. Problematic extensions в MozillaZine Knowledge Base Архивная копия от 13 января 2008 на Wayback Machine (англ.)
  2. Ryan. Firefox Extensions cause Memory Leaks and Crashes (англ.). CyberNet (5 сентября 2007). Дата обращения: 2 ноября 2007. Архивировано 3 марта 2012 года.. Адаптация и перевод на русский на habrhabr: http://habrahabr.ru/blog/firefox/24829.html (рус.) Архивная копия от 30 декабря 2007 на Wayback Machine

См. также

Ссылки