Архивы: по дате | по разделам | по авторам

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

АрхивГид
автор : Дмитрий Свириденко   08.12.2004

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

См. также предыдущие части обзора:
Путеводитель по расширениям 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). [вернуться]

© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.