Как создать быстрое минимальное расширение для Firefox? - PullRequest
19 голосов
/ 08 ноября 2008

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

Ответы [ 7 ]

20 голосов
/ 08 ноября 2008

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

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

firefox.exe -profilemanager

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

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

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

chrome.manifest:

content 1mffext chrome/

и install.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 - личный виртуальный мир как приложение запуска службы - пример приложения, упакованного и распространенного с использованием этого метода.

14 голосов
/ 21 декабря 2008

Шаг 1. Используйте построитель дополнений , чтобы сгенерировать все необходимые файлы.

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

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

1 голос
/ 08 ноября 2008

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

firefox -P My_test_profile -no-remote

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

0 голосов
/ 23 июля 2014

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

Шаги для Mac / Linux:

  • Скачайте и распакуйте архив с этой страницы: https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Installation
  • В папке add-on-sdk- version запустите source bin/activate
  • mkdir plugin_name
  • cd plugin_name
  • Отредактируйте lib / main.js, включив в него ваш код.
  • cfx init
0 голосов
/ 08 ноября 2008

Вот причины, по которым кто-то захочет создать минимальное расширение для Firefox.

  1. Если вы хотите создать приложение на основе резидентного браузера на локальном компьютере (диске), взаимодействие с файловой системой для чтения и записи возможно, если приложение структурировано как расширение.
  2. Быстрое создание прототипов, не беспокоясь о междоменных проблемах XmlHttpRequest. Когда вы запускаете как простое приложение, пользователь сталкивается с всплывающим окном при каждой попытке XmlHttpRequest.
  3. Много раз, установка расширения вызывает много беспокойства в отношении «Будет ли это мешать другим моим настройкам?». Расширение незавершенного производства может распространяться вместе с профилем, чтобы пользователь мог предварительно просмотреть, протестировать его. Не беспокоясь о путанице с браузером Firefox по умолчанию.
0 голосов
/ 08 ноября 2008

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

0 голосов
/ 08 ноября 2008

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

...