Расширение (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 (англ.)
  2. Ryan. Firefox Extensions cause Memory Leaks and Crashes (англ.). CyberNet (5 September 2007). Проверено 2 ноября 2007. Архивировано из первоисточника 3 марта 2012.. Адаптация и перевод на русский на habrhabr: http://habrahabr.ru/blog/firefox/24829.html&nbsp;(рус.)(недоступная ссылка — история)

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]