Как самому написать плагин для Firefox
АрхивГидЧтобы написать свой собственный плагин для Firefox, не обязательно быть программистом. Любой, кто способен написать небольшой код на JavaScript, может справиться с этой задачей, потому что все другие составляющие расширения либо делаются по шаблону, либо относительно просты.
См. также предыдущие части обзора:
Путеводитель по расширениям Firefox
Путеводитель по расширениям Firefox. Часть 2
Что делать, если нужного расширения нет? Написать его самому.
Программистом для этого быть вовсе не обязательно. Любой, кто способен написать небольшой код на JavaScript, может написать и расширение для Firefox, потому что все другие составляющие расширения либо делаются по шаблону, либо относительно просты.
Проще всего взять уже готовое расширение и модифицировать его под себя. Файл *.xpi представляет собой обычный архив, и для того, чтобы посмотреть, что находится внутри, достаточно переименовать его в *.zip.
Как правило, в корне архива лежат два файла - install.rdf и install.js - и папка chrome. Инсталляционный файл JavaScript используется для совместимости с ранними версиями Firefox, и им, по большому счету, можно пренебречь (начиная с версии 0.9, менеджер расширений в Firefox обрабатывает rdf-файлы). Install.rdf устроен довольно просто, и единственная строка, требующая пояснений, находится в самом начале. Выглядит она примерно так:
Это уникальный GUID расширения, поэтому его нужно в срочном порядке заменить своим. Сгенерировать GUID можно с помощью программки guidgen. Чуть ниже в файле rdf встретится еще одна похожая строка:
Но как раз ее нужно оставить нетронутой, поскольку этот 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 такую строчку:
А потом заставить все это работать.
- По материалам еженедельника "Компьютерра"
1. Паковать можно в zip (с последующим переименованием в *.jar). [вернуться]