Firefox扩展开发 (插件开发) Extension开发 入门教程 5步走 五步走

首先需要知道什么是“Firefox插件”。这里说的“插件”只是一个通俗的说法,其实Firefox这种扩展功能的“插件”包括:扩展extension和插件plugin。

{tip:title=Handy Hint}

Firefox官方网站的解释是:Extensions are small add-ons that add new functionality to your Mozilla program. Plugins are programs that allow websites to provide content to you and have it appear in your browser.(扩展是能够给Mozilla增加一些新功能的附加软件,插件是允许网站向你提供内容并在浏览器中显示的程序).通俗的讲,“扩展”是基于Firefox本身增加的一些实用功能,而“插件”则是在Firefox之外独立编写的程序,用于显示网页中的特定内容如Flash、视频和Java 等.

{tip}

其实我们需要开发的是Extension。

要开发Extension,可以分几步走:

1.了解什么是Extension,一般现成的Extension怎样组成的?里边包含的每个文件具体的作用是什么?

2.了解Firefox处理运行Extension的机制。例如Xpcom,chrome机制等。

3.看看入门例子,用记事本,做一个最简单的扩展,运行一下。另外,使用Firefox,下载一些常用的扩展,并查看一下人家的源代码。

4.正式搭建开发环境。

5.一边学习人家的代码,一边修改代码实现自己的扩展。

第一步和第二步:

当然以官方资料为准:https://developer.mozilla.org/en/Extensions。需要了解:chrome,rdf,manifest,xul,xpcom等概念。

另外郑高强的空间:http://www.cnblogs.com/kenkofox/archive/2009/12/17/1626577.html,这里有简单的Firefox Extension组成说明和Firefox处理Extension的过程分析。

王青师兄的空间有更细致的分析,但较为深入,建议后期再看。

http://ericwangqing.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3dFirefox%25e6%258f%2592%25e4%25bb%25b6

第三步:

根据这个简单教程,尝试一下hello world:http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/

另外就是在Firefox官方扩展网站下载一些扩展来研究一下了。

安装后,Extension的代码会在磁盘这个位置:

C:\Documents and Settings\UserName\Application Data\Mozilla\Firefox\Profiles\Profile\extensions

第四步:

正式开始使用开发环境。

      1.Firefox安装相关的扩展:firebug,1.Firefox 3.0,这个肯定必不可少了。在此推荐3.0,因为最新版3.6或者3.7,那些扩展还没有更新跟进,所以要想安装更多的扩展,还是以3.0为好。

  2.Firebug,这个不必多说。虽然我只是菜鸟,只是用这个来定位某些xul元素对应什么代码,但帮助不少。再到firebug的官网,下载chromebug:http://getfirebug.com/downloads#chromebug(有了chromebug才能更好的调试自己写的chrome文件)

因为调试js需要开开关关firefox,太麻烦,所以一些代码可以在firebug控制台先测试。在firefox7试验过

  3.Extension Developer。官网推荐,当然安装啦。这个是一套Firefox扩展,包括打包xpi功能,预览xul等。

  4.Spket IDE。开发扩展的IDE,官网推荐的,比较好用。不过好像不能打包xpi,也不能测试。不过只作为编辑器也不错了。用它来看人家的扩展的代码,非常舒服……

  5.xul explorer。预览xul效果。

  6.emEditor。快速打开代码文件,进行修改。另外最重要的功能是:查找。研究人家的代码的时候,JavaScript的代码转来转去,太难找到某些变量或者对象的定义了。用emEditor的“在文件中查找”功能,作用非常大,查找出来的结果有预览……(后来发现,也可以直接用Spket IDE的search--file功能,跟eclipse的查找功能类似,不过缺点就是没有预览,每次要双击了才知道是怎么匹配的。)

      7.另外,王青师兄习惯使用eclipse + spket + XULBooster + Firefox

(上述工具基本都能在MDC网站上找到链接下载)

第五步:

慢慢学习Javascript,CSS还有一些细节的技术。尝试修改人家已有的Extension,加入自己想要的功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在CentOS 6.5上使用Unicorn和Nginx部署Rails应用程序

在部署基于Rails的Web应用程序时,简单设计的应用程序服务器可以在几分钟内启动并运行。但是,如果您希望更好地控制服务器设置或想要尝试更灵活的新功能,那么使用...

1072
来自专栏SnailTyan

Linux的/bin、/sbin、/usr/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin

1、Linux的/bin、/sbin、/usr/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin /bin bin为...

2059
来自专栏java思维导图

架构师详解:Nginx 架构

原文链接:https://my.oschina.net/u/3770281/blog/1802493

1062
来自专栏网站漏洞修补

struts2架构网站漏洞修复详情与利用漏洞修复方案

struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出...

633
来自专栏c#开发者

HTML5手机APP开发入门(1)

HTML5手机APP开发入门(1) 开发框架 Ionicframework V2 + Angular 2 具体内容可以参考一下网站 http://ionicf...

3708
来自专栏扎心了老铁

ELK日志收集分析系统配置

ELK是日志收益与分析的利器。 1、elasticsearch集群搭建 略 2、logstash日志收集 我这里的实现分如下2步,中间用redis队列做缓冲,可...

3404
来自专栏北京马哥教育

Linux之任务计划

用过windows的同学应该都知道在控制面板中有一个“任务计划”选项,我们可以通过向导设置让计算机在某个时间点或者开机时运行某个脚本或者批处理等等,方便我们的...

2544
来自专栏LIN_ZONE

laravel5.5 任务调度 (转载)

我们需要在 App\Console\Kernel 类的 schedule 方法中定义所有任务调度。例如:

811
来自专栏Flutter&Dart

DartVM服务器开发(第八天)--http服务端框架

Aqueduct是一个HTTP Web服务器框架,用于构建用Dart编写的REST应用程序。

1894
来自专栏zaking's

走进webpack(1)--环境拆分及模块化

  初级的文章和demo已经基本完成了,代码也已经上传到了我的github上,如果你对webpack的使用并不是十分了解,那么建议你回头看下走近系列,里面包括了...

2616

扫码关注云+社区