Как написать плагин для Firefox

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

Первый и самый сложный вопрос, который вам предстоит решить, если вы собрались написать плагин для Firefox – что он будет делать. От функционала вашего продукта будет зависеть его популярность. Понятно, что еще один калькулятор или редактор с подсветкой синтаксиса вряд ли сможет заинтересовать многих пользователей. А вот какой-нибудь SEO-инструмент, например, определяющий плотность ключевых слов на странице, вполне мог бы заинтересовать многих пользователей.

Самый простой способ научиться делать плагины для Firefox – исследовать уже существующие. Попробуйте найти простенькое дополнение, например, для подсветки ключевых слов в тексте страницы. Вы можете сразу установить плагин в ваш браузер, и потом найти расширение в каталоге с установленной программой (В Window это обычно директория "C:\Documents and Settings\ ... \Application Data\Mozilla\Firefox\Profiles\ … \extensions\"). Также вы можете просто сохранить на диске установочный файл с расширением ".xpi". Кстати, и xpi- и jar- файлы, которые вы можете наблюдать в каталоге с расширениями Firefox, представляют собой ни что иное, как zip-архивы, которые можно без труда распаковать архиватором, если изменить расширение на соответствующее.

В корневом каталоге плагина для Firefox наиболее важные файлы: chrome.manifest и install.rdf. Это xml-файлы, содержимое которых не нуждается в подробном комментировании. Более интересным для изучения будет каталог "chrome/content" плагина. Если вы установили простой плагин, то, скорее всего, в этом каталоге будет два файла: один - содержащий javascript-код, и файл с расширением ".xul", содержащий xml-код. К примеру, данный фрагмент кода в xul-файле:

<statusbar id="status-bar">
<statusbarpanel class="statusbarpanel-iconic" id="plaginname_spanel" src="chrome://plaginname/content/plaginname.gif" onclick="plaginfunction();" />

позволяет добавить в статус бар вашего Firefox кнопку с картинкой plaginname.gif (ее необходимо разместить в соответствующем каталоге), по нажатию на которой будет вызвана функция "plaginfunction".

Код функции необходимо разместить в js-файле. Это обычный javascript. Так, например, вы можете вызвать диалоговое окно:

function plaginfunction()
{alert "Мой плагин для Firefox";}

Обратите внимание, что если вы используете русские символы, то сохранять файл нужно в кодировке UTF-8.

Несколько иначе придется пользоваться такой привычной функцией, как getElementById и иже с ней. Если вы хотите получить идентификатор элемента открытого во вкладке браузера документа, нужно делать это так:

window._content.getElementById('elementid');

Следует также отметить следующие полезные функции:

window.addEventListener("load",function() {plaginfunction();},true);
window.addEventListener("focus",function() {plaginfunction();},true);

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

В заключении вы можете упаковать файлы своего плагина в zip-архив и переименовать его в файл с расширением ".xpi".

Если вы хотите выложить плагин для Firefox на своем сайте, в файле .htaccess каталога с ".xpi"-файлами необходимо добавить следующую инструкцию:

AddType application/x-xpinstall .xpi

Теперь, запросив файл с плагином на вашем сайте, посетители смогут увидеть в браузере диалог установки плагина.