Файловая структура расширения Firefox - PullRequest
4 голосов
/ 04 января 2012

Я работаю над обновлением компилятора Greasemonkey для упаковки расширений Firefox. Я думаю, что оригинальная версия была для Firefox версии 3.6 и Greasemonkey версии 0.7.20070607.0, а исходный код находится на GitHub здесь . Я собираюсь работать над моим обновлением здесь .

Я пытаюсь выяснить, каковы текущие требования для расширений Firefox 9/10, чтобы я мог убедиться, что я генерирую соответствующую файловую структуру.

Кто-нибудь знает, является ли следующая структура файла текущей:

MyExt/
    chrome/
        chrome/chromeFiles/
            chrome/chromeFiles/content/
                MyExt.js
    defaults/
        defaults/preferences/
            prefs.js
    chrome.manifest
    install.rdf

Исходный компилятор выводит это для скрипта Greasemonkey, который не изменяет хром браузера:

MyExt/
    chrome/
    content/
        MyExt.js
        prefs.js
        compiler.js
        xmlhttprequester.js
    chrome.manifest
    install.rdf

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

1 Ответ

3 голосов
/ 04 января 2012

Это типичная / приемлемая структура (хотя большинство людей не будет вкладывать content под chromeFiles; chrome/content достаточно).Типичная структура может быть найдена здесь :

my_extension.xpi:             //Equal to a folder named my_extension/
  /install.rdf                //General information about your extension
  /chrome.manifest            //Registers you content with the Chrome engine
  /chrome/
  /chrome/content/  //Contents of your extension such as XUL and JavaScript files
  /chrome/icons/default/*     //Default Icons of the extension
  /chrome/locale/*            //Building an Extension# Localization
  /defaults/preferences/*.js  //Building an Extension# Defaults Files
  /plugins/*
  /components/*
  /components/cmdline.js

Однако обратите внимание на следующее:

  • Файлы в chrome могут бытьразмещены в любом месте, если вы правильно зарегистрируете эти местоположения в chrome.manifest

  • Компоненты также могут быть расположены в любом месте.Как и в случае файлов Chrome, местоположение должно быть зарегистрировано в манифесте.

  • По умолчанию, с другой стороны, должно быть в папке defaults :

    Файлы по умолчанию, которые вы используете для заполнения профиля пользователя, должны быть помещены в значения по умолчанию / в корень иерархии папок вашего расширения.Файлы настроек по умолчанию .js должны храниться в настройках по умолчанию / предпочтения / - когда вы разместите их здесь, они будут автоматически загружены системой настроек Firefox при запуске, чтобы вы могли получить к ним доступ через API настроек.

  • И install.rdf, и chrome.manifest должны находиться в каталоге верхнего уровня расширения

...