1、创建简单的FF 插件的参考资料地址:
https://developer.mozilla.org/en-US/docs/Building_an_Extension
建立一个简单的Hello world
①、在eclipse中没有安装FF extension开发的插件之前,先手动创建一个简单的FF插件,对于理解FF插件的开发是很有帮助的,建立一个普通的项目,建立如下的目录结构:
②、编写install.rdf文件
Install.rdf名字是固定的,位置也是固定的,它是用来描述整个插件的各种信息,包括提供者,版本号,ID等等,另外还可以提供了嵌入用户提供页面的功能,比如嵌入用户提供的option功能(<em:optionsURL>)等等。
<?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"> <em:name>HelloWorld</em:name> <em:version>1.0</em:version> <em:description>A test extension</em:description> <em:creator>Irving Sun</em:creator> <em:id>helloWorld@cn.irving.com</em:id>
<em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>1.5</em:minVersion> <em:maxVersion>30.0.*</em:maxVersion> </Description> </em:targetApplication>
<em:iconURL></em:iconURL> <em:homepageURL></em:homepageURL> </Description> </RDF> |
③、编写XUL文件
XUL(XML User Interface Language),是一种Mozilla开发的一种使用XML进行用户界面描述的语言,在FF中,XUL文件可以直接访问,而且显示出来的就是一个页面。
另外,FF的整个界面都是通过XUL描述的,所以自然就可以把我们编写的XUL界面嵌入到FF浏览器中,以插件的界面的形式显示出来。
<?xml version="1.0"?> <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <statusbar id="status-bar"> <statusbarpanel id="hello-panel" label="HelloWorld" /> </statusbar> </overlay> |
XUL文档基于这个overlay标签进行扩展,从字面上可以看出,此处扩展了statusbar,添加了一个id为"hello-panel"的panel,并且上面添加上"hello-panel"。
④、关联chrome.manifest
FF对于资源的定位,自己定义了chrome://协议,类似于HTTP协议的使用。在FF的安装目录下,有一个browser包,里面会有类似于content/browser/browser.xul的文件,如果要访问这个资源,我们可以在FF的地址栏输入:chrome://browser/content/browser.xul
我们添加如下的关联代码:
content sample chrome/content/ overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul |
第一句表示:
当我们请求chrome://sample/content/目录下的资源的时候,将返回chrome/content/目录下的资源。sample表示包名,content表示请求类型。
第二句表示:
当我们请求chrome://browser/content/browser.xul的时候
将chrome://browser/content/browser.xul也扩展进来。
⑤编写build脚本
主要的任务就是将我们需要的东西都打包到一个后缀名为.xpi的文件里。
<project name='test' default='xpi'> <property name="src.dir" value="." /> <property name="dist.dir" value="dist" /> <property name="app.xpi.id" value="helloWorld@cn.ibm.com" />
<target name='xpi' depends='clean'> <mkdir dir="${dist.dir}"/> <zip destfile="${dist.dir}/${app.xpi.id}.xpi"> <fileset dir="${src.dir}"> <include name='chrome/**'/> <include name="chrome.manifest" /> <include name="install.rdf" /> </fileset> </zip> </target>
<target name='clean'> <delete dir='${dist.dir}' /> </target> </project> |
运行之后,就会在当前目录下生成一个dist文件夹,我们需要的文件就在里面。
⑥调试
将生成的xpi文件拖到FF中,稍等一会儿就会出现安装的提示了。安装完了之后,重启FF,就可以在FF的右下角看到如下的信息:
关于调试,调试JS 的快捷键”Ctrl+Shift+j”
<!--EndFragment-->
相关推荐
firefox extension 开发例子
Certification Extension for firefox: Document 1.firefox插件运行机理简介 Web Extension API: 从firefox 48开始,为了使浏览器插件的代码更具有通用性,火狐浏览器抛弃原有的基于SDK的插件开发系统,转而使用...
selenium-firefox-driver-2.47.1.jar
Firefox的右上角有一个易于访问的新菜单,其中包含流行的浏览器控件 光滑的新标签页使整体外观更平滑,并且在不活动时淡入背景 互动式入门培训,可指导用户完成新的Firefox更改 通过创建Firefox帐户来设置Firefox...
NeatDownloadManager Extension是一款Chrome和Firefox浏览器的扩展程序,它可以用来下载文件。这个扩展程序可以让您更有效地管理您的下载,包括恢复和暂停下载,设置下载速度限制,以及下载完成后自动执行某些操作,...
火狐浏览器Ubuntu中文版,Firefox-latest-x86_64.tar.bz2
火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包火狐浏览器离线安装包
firefox-extension-simple-bookmarks-menu:Firefox的简单书签菜单扩展(已停产)
火狐浏览器 历史版本Firefox52.1.1-ESR-full-latest
Mozilla Firefox,中文俗称“火狐”(正式缩写为Fx或fx,非正式缩写为MF),是一个自由及开放源代码的网页浏览器,使用Gecko排版引擎,支持多种操作系统,如Windows、Mac OS X及GNU/Linux等。该浏览器提供了两种版本...
火狐浏览器简体中文版Firefox (firefox-99.0.1.tar.bz2),适用于Linux 64-bit
Firefox-full-latest-54,完整安装版,支持firebug、firepath
Firefox 火狐浏览器 延长支持版2021-07-13 最新发布 延长支持版本(Extended Support Release, 简称“ESR”)是 Mozilla 专门为那些无法或不愿每隔六周就升级一次的企业打造。Firefox ESR 版的升级周期为 42 周,而...
Firefox-latest.rar 火狐浏览器下载Firefox-latest.rar 火狐浏览器下载Firefox-latest.rar 火狐浏览器下载Firefox-latest.rar 火狐浏览器下载Firefox-latest.rar 火狐浏览器下载
firefox-extension:Firefox开发人员工具的站点兼容性工具扩展
火狐浏览器历史版本 Firefox-ESR-full-latest.exe 无需联网即可直接解压安装,相比官网最新版安装较快。
generator-firefox-extension, 用于 Firefox 扩展的文书生成器 Firefox 扩展生成器 用于扩展扩展的文件生成器允许你使用基本文件结构和推荐设置快速设置扩展。这样可以节省编写样板代码的时间,这样就可以立即开始...
firefox-68.10.0-1.el7.centos nspr-4.21.0-1.el7 nss-3.44.0-7.el7_7 nss-pem-1.0.3-7.el7 nss-softokn-3.44.0-8.el7_7 nss-softokn-freebl-3.44.0-8.el7_7 nss-sysinit-3.44.0-7.el7_7 nss-tools-3.44.0-7.el7_7 ...
解压后可用,资源全名:Firefox Setup 2.0.0.20.exe
火狐浏览器全新升级后,很多插件不兼容,请下载Firefox Setup 56.0b9之前版本安装使用