Прочитал вот это: http://www.toolbar.net.ru/
Там написанно, что в FF 1.5 появилась возможность больше не перепаковывать расширение после каждого изменения.

Вопрос: как это сделать?

Просто теперь не обязательно использовать JAR. Все папки content, locale и skin можно просто положить в одну папку и указать в manifest-файле путь к ним, локаль также можно указывать только там, в install.rdf лезть не обязательно. Правда такая структура действует только для Firefox 1.5

Можешь для примера скачать это расширение и посмотреть его структуру.
http://forum.mozilla.ru/viewtopic.php?id=7610

igorsub пишет

Просто теперь не обязательно использовать JAR. Все папки content, locale и skin можно просто положить в одну папку и указать в manifest-файле путь к ним, локаль также можно указывать только там, в install.rdf лезть не обязательно. Правда такая структура действует только для Firefox 1.5

Можешь для примера скачать это расширение и посмотреть его структуру.
http://forum.mozilla.ru/viewtopic.php?id=7610

Я так понимаю всё равно придётся в xpi жать.

Как бы сделать так, чтоб вообще архивировать не надо было.

Всем привет!
Ну, собственно, там дана ссылка вот сюда:
http://kb.mozillazine.org/Getting_started_with_extension_development - довольно подробно описано, что как делать.

Вкратце:
1. Создаем на харде папочку, где будет лежать наше расширение. Например, D:\xul\myextension\. В ней создаем:
- файл install.rdf
- файл chrome.manifest
- папки content, skin, locale и т.д.

В файлик chrome.manifest пишем так:

Выделить код

Код:

content	myextension content/
overlay	chrome://browser/content/browser.xul	chrome://myextension/content/overlay.xul
skin	myextension	classic/1.0	skin/
style	chrome://global/content/custimizeToolbar.xul	chrome://myextension/skin/overlay.css

Т.е. этот файл используется вместо contents.rdf - в нем мы сообщаем браузеру пути до компонентов нашего расширения (оверлей, скин и т.д.).

Терерь на надо "подцепить" папку с расширением к менеджеру расширений FireFox. Для этого мы заходим в папку extensions в папке профиля и создаем файл с id нашего расширения в названии. У меня, например, это выглядит так:
C:\Documents and Settings\Ilya\Application Data\Mozilla\Firefox\Profiles\dybaj8px.default\extensions\{ff6bdc07-eed6-4815-ad95-d7938b673ab5}
ID расширения берем тот же, что использовали в install.rdf (его надо предварительно сгенерить), не забываем про фигурные скобки.
Далее, открываем этот файлик блокнотом и пишем:
D:\xul\myextension
Сохраняем, закрываем. Перезапускам FF, проверяем в Extension Manager, нашлось ли наше расширение. Если все в порядке - оно должно появиться в списке расширений. Теперь то, что указано в install.manifest как chrome://myextension/content/overlay.xul браузер будет искать по адресу D:\xul\myextension\content\overlay.xul

Вот и все. Теперь, разрабатывая расширение, просто правим файлы в папке myextension, безо всякой перепаковки xpi. Чтоб можно было быстро видеть изменения, устанавливаем Extension developer's extension (google it =)) и выносим на панель инструментов кнопку "Reload all chrome".

Упаковка xpi производится в самый последний момент. Структура расширения используется та же, что и для более ранних версий FF, но вместо contents.rdf мы можем использовать chrome.manifest, преобразованный к такому виду:

Выделить код

Код:

content	myextension jar:chrome/myextension.jar!/content/
overlay	chrome://browser/content/browser.xul	chrome://myextension/content/overlay.xul
skin	myextension	classic/1.0	jar:chrome/myextension.jar!/skin/
style	chrome://global/content/customizeToolbar.xul	chrome://myextension/skin/overlay.css

Возможно, я что-то напутал - http://kb.mozillazine.org/Getting_started_with_extension_development ответит на все вопросы =)

PS.

Прочитал вот это: http://www.toolbar.net.ru/

Этот перевод - моих рук дело =) Вопросы лучше оставлять там в комментах или слать в ПМ (если тут е-мейл уведомление есть) - постоянно читать этот форум, к сожалению, не хватает времени.

Sarin2.0

Как бы сделать так, чтоб вообще архивировать не надо было.

Для этого необходимо поставить хотя бы одно расширение (любое).
Потом в профиле в папке extensions найти его chrome.manifest, и дописать туда строку:

Выделить код

Код:

content your_extension file:///X:/путь/к/папке/где/лежат/файлы/расширения/

Тогда все файлы из вышеуказанной папки можно будет вызвать по адресу chrome://your_extension/content/

Еще очень удобно:

в about:config добавить nglayout.debug.disable_xul_cache со значением true — это отключит кеширование XUL-файлов на chrome:// и позволит перезагружать свой файл после изменений кнопкой Reload

Sarin2.0 пишет

...
Как бы сделать так, чтоб вообще архивировать не надо было.

Нужно прописать путь к распакованному расширению в файле extensions.ini

Фсем спасибо. Пойду пробовать.

Расширение подцепилось. Но я неправильно написал манифест и не подцепился xul. Ясно дело от расширения толку мало:)

Пойду багу искать.

Кто мне поподробней расскажет про манифест?

Sarin2.0 пишет

...
Кто мне поподробней расскажет про манифест?

Интернет. Смотри здесь: http://developer.mozilla.org/en/docs/ch … structions

Кстати, еще одно важная вещь, ID расширения не обязательно должен быть в виде буквенно-цифрового кода, можно, например, написать свой e-mail. :)

Мне лично очень нравится новая структура расширений. Стало гораздо удобней.