Rambler's Top100
11 февраля 2012 года

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

Чтобы написать свой собственный плагин для Firefox, не обязательно быть программистом. Любой, кто способен написать небольшой код на JavaScript, может справиться с этой задачей, потому что все другие составляющие расширения либо делаются по шаблону, либо относительно просты.

Автор: Дмитрий Свириденко | Раздел:  | Дата: 08 декабря 2004 года

См. также предыдущие части обзора:
Путеводитель по расширениям Firefox
Путеводитель по расширениям Firefox. Часть 2

Что делать, если нужного расширения нет? Написать его самому.

Программистом для этого быть вовсе не обязательно. Любой, кто способен написать небольшой код на JavaScript, может написать и расширение для Firefox, потому что все другие составляющие расширения либо делаются по шаблону, либо относительно просты.

Проще всего взять уже готовое расширение и модифицировать его под себя. Файл *.xpi представляет собой обычный архив, и для того, чтобы посмотреть, что находится внутри, достаточно переименовать его в *.zip.

Как правило, в корне архива лежат два файла - install.rdf и install.js - и папка chrome. Инсталляционный файл JavaScript используется для совместимости с ранними версиями Firefox, и им, по большому счету, можно пренебречь (начиная с версии 0.9, менеджер расширений в Firefox обрабатывает rdf-файлы). Install.rdf устроен довольно просто, и единственная строка, требующая пояснений, находится в самом начале. Выглядит она примерно так:

<em:id>{a0faa0a4-f1a7-4098-9a74-21efc3a92372}</em:id>

Это уникальный GUID расширения, поэтому его нужно в срочном порядке заменить своим. Сгенерировать GUID можно с помощью программки guidgen. Чуть ниже в файле rdf встретится еще одна похожая строка:

<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>

Но как раз ее нужно оставить нетронутой, поскольку этот GUID присвоен Firefox Mozilla - приложению, ради которого все и затевалось.

Покончив с инсталляционным скриптом, переходим в каталог chrome, где нас ждет еще один архив, на сей раз с расширением .jar. В этом архиве размещены две папки: content и skin. В первой хранится само расширение, во второй - графические ресурсы. В папке content нас интересуют в основном два файла: файл с кодом на JavaScript (в котором, собственно, и описано, что делает ваше расширение) и файл оверлея, в котором описано, как и из какого меню можно это расширение вызвать. Главную трудность представляет JavaScript, а описать интерфейсные элементы несложно:

<popup id=”contentAreaContextMenu”>
<menuitem id=”yandexs” label=”OurFunction” accesskey=”Y”
insertafter=”context-searchselect” oncommand=”onOurFunction”/>
</popup>

В этом случае при выделении фрагмента текста на странице в контекстном меню, возникающем при нажатии правой кнопки мыши, появится пункт "OurFunction", которому присвоена горячая клавиша Y. Активация этого пункта приведет к выполнению функции onOurFunction из файла со скриптом, расположенного в том же каталоге.

После того как все перекрестные ссылки в файлах проверены, а все файлы переименованы должным образом, мы можем совершить обратную операцию и запаковать наше новое расширение так, чтобы оно было готово к установке1. Структура простейшего расширения сводится к следующему (см. рис.).

Структура простейшего расширения

Осталось немного. Теперь нам нужно написать нужный код на JavaScript, запаковать архив с полностью готовым расширением и разместить получившийся файл *.xpi на сервере, добавив в .htaccess такую строчку:

AddType application/x-xpinstall .xpi

А потом заставить все это работать.

- По материалам еженедельника "Компьютерра"


1. Паковать можно в zip (с последующим переименованием в *.jar). [вернуться]

Share

Читайте также

/  iBusiness