Firefox扩展文件结构

时间:2012-01-04 16:49:29

标签: firefox firefox-addon greasemonkey

我正在努力更新Greasemonkey编译器以打包Firefox扩展。我认为原始版本适用于Firefox 3.6及Greasemonkey版本0.7.20070607.0,源代码位于GitHub here。我将要处理我的更新here

我正在试图弄清楚当前对Firefox 9/10扩展的要求是什么,这样我就可以确保生成适当的文件结构。

有谁知道以下文件结构是否是当前文件结构:

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

原始编译器为Greasemonkey脚本输出此脚本,该脚本不修改浏览器chrome:

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

下一步将确保编译器使用的Greasemonkey代码是最新的,但我希望首先清楚我的输出目标。

1 个答案:

答案 0 :(得分:3)

这是一个典型/可接受的结构(尽管大多数人不会在content下嵌套chromeFiles; chrome/content就足够了)。典型结构can be found here

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文件一样,该位置必须在清单中注册。

  • 另一方面,默认值为must be in the defaults folder

      

    默认用于播种用户个人资料的文件应该是   置于默认值/扩展名文件夹根目录下   层次结构。应存储默认首选项.js文件   默认/首选项/ - 当你把它们放在这里时,它们将是   Firefox启动时自动加载Firefox的首选项系统   您可以使用Preferences API访问它们。

  • install.rdfchrome.manifest都应位于扩展程序的顶级目录中