Разработка дополнений FireFox: различия между версиями

Материал из Викиверситета
Содержимое удалено Содержимое добавлено
Строка 11: Строка 11:
Откроется окно для выбора профиля. Нажимаем кнопку создания профиля и указываем папку для создания нового профиля. Предпочтительно создать папку так, чтобы она была легко доступна, например:
Откроется окно для выбора профиля. Нажимаем кнопку создания профиля и указываем папку для создания нового профиля. Предпочтительно создать папку так, чтобы она была легко доступна, например:
D:\my_experiments\firefox
D:\my_experiments\firefox
Далее скачиваем и устанавливаем шаблонный проект [https://docs.google.com/leaf?id=0Bxq3xliGOpxZODQ0NmJkNGYtYmIxMS00NTg5LWFmNDUtYzI4NWJjZDk0YzRl&hl=en_GB helloworld.xpi]. На панели управления должна появиться кнопка, по нажатию которой отображается сообщение.
Далее скачиваем и устанавливаем шаблонный проект [https://docs.google.com/leaf?id=0Bxq3xliGOpxZODQ0NmJkNGYtYmIxMS00NTg5LWFmNDUtYzI4NWJjZDk0YzRl&hl=en_GB helloworld.xpi]. На панели управления должна появиться кнопка, по нажатию которой отображается приветствие 'Hello, World!'.


После установки файл окажется в директории
После установки файл окажется в директории

Версия от 18:46, 20 августа 2011

Семинар «Разработка дополнений FireFox» является частью обучающих материалов кафедры веб-технологий.

Дополнения к FireFox распространяются в виде файлов с расширением xpi. Эти файлы являются zip-архивами. Внутри архива могут находиться javascript, xul, css-файлы и даже jar-архивы. В большинстве случаев файлы структурированы в диретории и эти директории имеют стандартные названия. В-общем, всё довольно человекопонятно и человекодоступно. Давайте попробуем создать простое расширение. Пусть это будет кнопка, которую мы могли бы разместить на произвольной панели инструментов FireFox и по нажатию на неё должно появляться всплывающее окно.

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

Подготовка рабочего пространства

Итак, для начала создадим отдельный FireFox профиль, который не жалко сломать. Для этого закрываем FireFox, нажимаем Win+R и вводим команду

firefox -P

Откроется окно для выбора профиля. Нажимаем кнопку создания профиля и указываем папку для создания нового профиля. Предпочтительно создать папку так, чтобы она была легко доступна, например:

D:\my_experiments\firefox

Далее скачиваем и устанавливаем шаблонный проект helloworld.xpi. На панели управления должна появиться кнопка, по нажатию которой отображается приветствие 'Hello, World!'.

После установки файл окажется в директории

D:\my_experiments\firefox\extensions

с названием

helloworld@ru.wikiversity.org.xpi

Работать с архивом не удобно, поэтому закройте firefox и распакуйте содержимое в

D:\my_experiments\firefox\extensions\helloworld@ru.wikiversity.org\

а исходный файл удалите.

Включите FireFox и убедитесь, что всё по прежнему работает. Если так, то можно приступать к изучению содержимого шаблонного проекта.

content\overlay.xul

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://helloworld/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://helloworld/locale/overlay.dtd">
<overlay id="helloworld-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <toolbarpalette  id="BrowserToolbarPalette">
        <toolbarbutton  id="helloButton" label="&helloworld;" oncommand="alert('Hello, World!');"/>
    </toolbarpalette>
</overlay>

Это корневой файл, он говорит, что кнопка вообще должна быть и должна быть добавлена по умолчанию на панель инструментов BrowserToolbarPalette.