因为项目的需要,一些功能需要在火狐上面实现,一点也不了解火狐插件的开发,网上的中文资料也少得可怜,

没办法,只好自己研究一下英文文档,慢慢开发了,在这里备份一下。

学编程,当然是从Hellow,world开始啦。那么我们看看火狐插件的Hellow,world是怎么做的吧

一、创建目录


  1. 随便在一个文件夹里面,新建一个文件夹,名字随意,最好以自己的插件名称命名。我这里做演示,就命名为 test
  2. 在test文件夹下面创建一个文件夹,命名chrome。
  3. 在test文件夹下面创建两个文件,分别为install.rdf、chrome.manifest
  4. 在chrome文件夹下面创建一个文件夹,命名为content。
  5. 在content文件夹下面创建一个文件,命名为test.xul。
  6. 每个文件的编码一定要是utf-8的!否则显示中文会出错!!!

最后得到如下文件:

黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_字符串

二、配置install.rdf文件

install.rdf是一个安装清单,其中包含的信息告诉火狐我们插件的信息。其中内容我们可以设置为:

黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_xml_02黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_字符串_03

<?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:一个独特的识别字符串。字符串的形式为 扩展名@域创造者。 -->     <em:id>test@hcsem.com</em:id>     <em:version>2.0</em:version>     <em:type>2</em:type>      <!-- Front End Metadata -->      <em:name>状态栏</em:name>     <em:description>在状态栏上面显示字符串</em:description>     <em:creator>黄聪</em:creator>     <em:homepageURL>http://developer.mozilla.org/en/docs/Creating_a_status_bar_extension</em:homepageURL>      <!-- Describe the Firefox versions we support -->      <em:targetApplication>       <Description>           <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>         <em:minVersion>1</em:minVersion>         <em:maxVersion>30.0.*</em:maxVersion>       </Description>     </em:targetApplication>    </Description>  </RDF>

install.rdf

三、配置chrome.manifest文件

chrome.mainfest文件是应用程序文件,这个文件告诉火狐你的程序架构,内容如下:


#这一行是注册ID为test的插件到chrome/content/目录下,一般情况下这个目录是相对路径,当然也可以设置为绝对路径 content test chrome/content/  #这句话是告诉火狐在加载browser.xul的时候,顺便加载test.xul overlay    chrome://browser/content/browser.xul chrome://test/content/test.xul


四、配置test.xul文件

test.xul文件就是运行程序的地方啦!在这里就是做你的插件想做的事情的地方了,我写的程序如下:


<?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE overlay >  <overlay id="test-overlay"   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">  <!-- Firefox --> <statusbar id="status-bar">     <statusbarpanel id="test"         label="哈啰,世界"          tooltiptext="哈啰,世界,拜拜"     /> </statusbar>  </overlay>


上面的程序就是个简单的在状态栏显示“哈啰,世界”,鼠标移上去会显示悬浮标题“哈啰,世界,拜拜”的功能。

好了,写好程序了,就应该打包然后在火狐上面安装运行了。

五、打包程序、安装运行

1、返回到test文件夹,全选所有文件,然后压缩成ZIP格式。一定要是ZIP格式!压缩后我们得到test.zip文件

2、修改test.zip的后缀名为xpi,最后得到test.xpi文件。

黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_状态栏_04

3、把test.xpi文件拖拽到火狐浏览器中,出现提示安装的界面,点击安装,然后重启火狐。

黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_状态栏_05

4、看火狐右下角的状态栏,就有“哈啰,世界”字符串了。

黄聪:一、如何创建一个状态栏扩展(火狐插件扩展开发教程)_chrome_06

案例下载:​​firefox-test.zip​