Швидкий старт в розробці доповнень firefox - kildekode

Ні про що →

Думаю, всі знають, що доповнення Firefox поширюються в вигляді xpi-файлів. xpi-файл являє собою zip-архів, усередині якого є якась кількість файлів і директорій. Файли можуть бути js, css, xul, файли зображень і, здається, навіть jar. У директорій зазвичай задаються стандартні назви, але жорстких вимог немає.

Думаю, Вам, не буде цікаво проходити той самий шлях, по якому йшов я, щоб створити всього лише «Hello, World», а Ви зможете взяти накопичену інформацію і відразу піде собі геть.

Підготовка до роботи


Мені подобається, коли працювати зручно. Тому я перейнявся пошуком відповідних інструментів під звичний мені стиль роботи. Працюю я під Windows 7, про нього і пишу.

Створити окремий профіль Firefox:
закрити Firefox, натиснути win + r і виконати firefox -P
При створенні профілю треба вибрати папку, яка буде легко доступна, наприклад:
D: \ experiments \ firefox
Завантажуємо і встановлюємо мій шаблонний проект helloworld.xpi. Після установки всередині директорії

з'явиться папка з назвою

Вміст архіву helloworld.xpi


Я не дуже добре знаю, для чого призначений кожен файл і тим більше кожне слово в ньому. Виділяю лише ті моменти, на які сам звернув увагу.

content \ overlay.xul

Це основний файл, він говорить, що кнопка повинна бути додана на панель BrowserToolbarPalette. Десь бачив, що все панелі мають ідентифікатори. В такому файлі можна створити не тільки кнопку, але і свою панель. Код написаний на мові XUL.

locale \ en-US \ overlay.dtd


Це просто довідник текстових констант.


У цій папці містяться зображення для кнопки і файл зі стилями

Очевидно, що це важливий файл, який конфигурирует роботу додатка. Детальніше не розбирався.

install.rdf

Відповідно до цього файлом відбувається установка доповнення. Цікавий тег id, ідентифікатор Firefox-а як продукту і без нього працювати не буде, а у Seamonkey інший ідентифікатор.

Робочий процес


Думаю, що робочий процес більшості JS-розробників виглядає як і мій: написав кілька рядків - подивився що вийшло. Щоб подивитися, що змінилося в XUL треба перевантажити Firefox. Це трохи напружує ... зовсім трохи. Тому що хочеться паралельно і документацію в інтернеті почитати. І перевантажувати виходить не швидко.

Я знайшов доповнення Extension Developer. Після установки на панель управління Firefox потрібно витягнути кнопку 'Reload all Chrome'. Зміни всередині коду розроблюваного дополенія вступлять в силу відразу після кліка по кнопці.

функція read


У плані роботи з файловою системою у мене виникла (здебільшого скопійована звідкись) функція:

Як я зрозумів, записувати у файли теж можна, але вже не розбирався.

висновок

Прохання до читачів не лаяти сильно, на роль «знає» людини не претендую і на додаткові питання навряд чи зможу відповісти.

Схожі статті