Firefox 插件

1、目录结构
|--install.rdf
|--chrome.manifest
|--chrome

    |--content

2. 编写install.rdf
<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:em="http://www.mozilla.org/2004/em-rdf#">

    <Description about="urn:mozilla:install-manifest">
        <!-- 指出扩展的ID。该ID应该是一个Email格式的字符串,或者是一个GUID。注意,使用Email的作用是保证该ID的唯一性,并不要求这个 Email地址是有效的。必填。 -->
        <em:id>sample@example.net</em:id>
        <!-- 指出插件的版本号。必填。 -->
        <em:version>1.0</em:version>
        <!-- 在这里的值必须是2。该标签说明该应用的Firefox扩展,而不是其他XUL应用程序。Firefox插件的代码是2,如果是Firefox主题则会是 4。必填。 -->
        <em:type>2</em:type>
        
        <!-- 安装扩展的目标应用程序以及最高版本和最低版本。必填。 -->
        <em:targetApplication>
            <Description>
                <!-- Firefox的ID,这个值不能改变。必填。 -->
                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
  <!-- 指明能使用该扩展的Firefox最低版本。这里是指1.5。必填。 -->
                <em:minVersion>1.5</em:minVersion>
  <!-- 指明能使用该扩展的Firefox最高版本。这里是指3.0.x。结合minVersion,即是说本扩展只适用于1.5和3.0.x之间的版本。必填。 -->
                <em:maxVersion>3.0.*</em:maxVersion>
            </Description>
        </em:targetApplication>
        
        <!-- 扩展的元数据。 -->
        <!-- 扩展名字。必填。 -->
        <em:name>sample</em:name>
        <!-- 扩展的描述。这里的描述将出现在Firefox的工具- 附加组件的描述栏。选填。 -->
        <em:description>A test extension</em:description>
        <!-- 扩展作者。选填。 -->
        <em:creator>galaxy.org</em:creator>
        <!-- 扩展主页的URL。选填。 -->
        <em:homepageURL>http://www.example.com/</em:homepageURL>
    </Description>
</RDF>

install.rdf文件是供具有扩展管理功能的XUL应用程序使用的,XUL应用程序可以使用该文件识别正在安装的扩展的信息。 install.rdf文件具有下面的格式:
<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:em="http://www.mozilla.org/2004/em-rdf#">
    <Description about="urn:mozilla:install-manifest">
        <!-- properties -->
    </Description>
</RDF>

3. 编写XUL文件
 
Firefox的界面使用XUL和JavaScript进行描述。XUL即XML User Interface Language,是Mozilla开发的一种使用XML进行用户界面描述的语言。XUL只用来定义用户界面,其组件的功能由JavaScript进行定义。
 
Firefox的整个界面都使用XUL进行定义。可以在%FIREFOX_INSTALL_DIR%/chrome/browser.jar里面找到content/browser/browser.xul文件。(说明一下,jar文件可以用WinRAR或其他一些压缩工具解压缩,这是一个使用 zip算法压缩的压缩包)在这个XUL文件中有这么一段:

sample.xul文件内容
<?xml version="1.0"?>
<overlay id="sample"
                 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<statusbar id="status-bar">
    <statusbarpanel id="my-panel" label="Hello, World" />
</statusbar>
</overlay>

4. 编写chrome.manifest
content sample chrome/content/
overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul

效果:


原文地址:https://www.cnblogs.com/memaxiaofeng/p/3275503.html