Как создать быстрое минимальное расширение Firefox?

какая минимальная базовая настройка требуется для начала разработки расширения Firefox?

7 ответов


Шаг 1: Используйте Add-on Builder для создания всех необходимых файлов.

Шаг 2: извлеките загруженные файлы в область разработки.

Шаг 3: создайте текстовый файл в папке расширений вашего профиля с именем в соответствии с EM: id в загруженной установке.файл rdf, поместите полный путь к извлеченным файлам в нем, затем перезапустите Firefox (удалите текстовый файл для удаления, если это необходимо).


Примечание:чтобы предотвратить возиться с вашим опытом Firefox по умолчанию, попробуйте совет ниже на недавно созданной одноразовой тестовой учетной записи.

Шаг 1: Создайте новый профиль Firefox. Для этого вам нужно вызвать диспетчер профилей с помощью опции командной строки:

firefox.exe -profilemanager

Нажмите кнопку "создать профиль" менеджера профилей, который вызовет мастер. Дайте профилю название. Используйте кнопку "Выбрать папку" и сохраните профиль с соответствующим именем папка. В этой папке мы собираемся создать наше быстрое и грязное расширение Firefox.

Шаг 2: Измените каталог на папку "extensions" в папке профиля, созданной на Шаге 1. Теперь нам нужно дать расширение Firefox глобальное уникальное имя. Для этого достаточно имен, подобных электронной почте. Например, OneMinuteFirefoxExtension@ec29.com будет достаточно хорошее название для расширения. В папке "extensions" создайте папку с ее именем в качестве только что выбранного уникального имя.

Шаг 3: создание файлов chrome.манифест и установка.РДФ. Вы можете скопировать вставить образец здесь с именами, описание изменено соответствующим образом.

chrome.манифест:

content 1mffext chrome/

и установить.rdf:

<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
         xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="rdf:#$Fsv+Z3"
                   em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                   em:minVersion="2.0"
                   em:maxVersion="3.0.*" />
  <RDF:Description RDF:about="urn:mozilla:install-manifest"
                   em:id="1m-ff-ext@ec29.com"
                   em:type="2"
                   em:name="OneMinuteFirefoxExtension@ec29.com"
                   em:version="0.0.1"
                   em:description="One Minute FireFox extension"
                   em:creator="labsji "
                   em:homepageURL="http://labsji.wordpress.com">
    <em:contributor>Venkat83</em:contributor>
    <em:targetApplication RDF:resource="rdf:#$Fsv+Z3"/>
  </RDF:Description>

Шаг 4 создайте папку под названием chrome и создайте текстовый файл под названием test.txt внутри папки. файлы в папке будут доступны через url chrome, например chrome: / /1mffext/content / test.txt

теперь голый минимум расширение готово. Обычные файлы html / javascript можно использовать для создания требуемой функциональности.

тестирование расширения: Вызовите firefox, чтобы использовать профиль, созданный выше.

firefox.exe -profile <path of the newly created profile> -no-remote

Я создал проект googlecode, чтобы поделиться результирующим кодом, созданным после вышеуказанных шагов. Код вместе со сценариями запуска доступен по адресу только минутное расширение Firefox

Sim-OnDemand-персональный виртуальный мир как сервис приложений является примером приложения, упакованного и распределенного с использованием этого метода.


чтобы запустить другой экземпляр firefox с другим профилем, Вы можете использовать следующую команду:

firefox -P My_test_profile -no-remote

таким образом, вы можете иметь 2 различных firefox работает и использовать один для тестирования расширений без возиться с тем, который вы используете регулярно.


интересную информацию.
Теперь, чтобы ответить на вопрос, я бы сказал: создайте сценарий Greasemonkey (или Chickenfoot, или iMacros и т. д.).
Может быть более ограниченным (например, при изменении пользовательского интерфейса FF), но подходит для большинства потребностей.


вот причины, по которым кто-то хотел бы создать минимальное расширение firefox.

  1. Если вы хотите создать локальное компьютерное( дисковое) резидентное браузерное приложение, взаимодействие с файловой системой для чтения и записи возможно, если приложение структурировано как расширение.
  2. быстрое прототипирование, не беспокоясь о проблемах кросс-домена XmlHttpRequest. Когда вы запускаете простое приложение, пользователь беспокоится о всплывающем окне всякий раз, когда Предпринята попытка XmlHttpRequest.
  3. много раз установка расширения вызывает много тоски с точки зрения " будет ли это испортить мои другие настройки?'. Расширение незавершенного производства может быть распространено вместе с профилем, чтобы пользователь мог просмотреть и протестировать его. Не беспокоясь о возиться с опытом просмотра firefox по умолчанию.

надстройка SDK упрощает разработку простых надстроек. https://developer.mozilla.org/en-US/Add-ons/SDK

шаги для Mac / Linux:


Я предлагаю тестирование на портативной версии Firefox.