Как стать автором
Обновить

Как быстро начать и эффективно продолжить писать расширение для лисы

Время на прочтение1 мин
Количество просмотров1.1K

Обычно цикл разработки таков:


1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.

Стало страшно? Тогда…

userChrome.js


Единожды:
— устанавливаем расширение userChrome.js
— запускаем лису (единственный раз)
— в лисьем профиле наполняем файл chrome/userChrome.js первоначальным содержимым, например таким:

// Шайтан-строка! Пока что всё делаем после неё :-)
if (location != "chrome://browser/content/browser.xul") throw "stop";

// Браузер готов. Нет необходимости вешать первоначальный
// листенер 'load' на window, как это делается в норамльных
// расширениях. Просто начинаем работать.

// Добавляем обработчик на клик мыши по таббару
getBrowser().mTabContainer.addEventListener(
  'click',
  function(event) { alert('clckkkkkkkkkkkkk!') },
  false
)


И вот как выглядит цикл разработки теперь


1) вносим изменения в код userChrome.js,
2) в лисе открываем новое окно, смотрим что изменилось (все изменения касаются только новых окон).

Разница налицо.

Конечно, с перерастанием в обычный *.xpi, разработка будет уже не так легка, зато старт быстрый!
 

Полезности


Неплохо бы запастись расширением Console2 и настроить ей так, чтобы сама выскакивала наверх при ошибках.

Существует ещё ответвление, userChromeJS — добавлена функция импорта и что-то изменено про оверлеи.

Это расширение работает и для других продуктов Мозиллы.
Теги:
Хабы:
+38
Комментарии17

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн