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 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

Python开源项目介绍:用zmail简单地发邮件

发送邮件是个很简单的需求,但是在实际的使用中依然碰到了很多坑,因此创建了zmail这个项目,让你使用python发送邮件的过程尽可能简单。

823
来自专栏乐沙弥的世界

Linux 登陆shell,交互shell以及环境变量读取顺序

Linux用户在登陆到Linux服务器时,一些登陆的提示欢迎信息,以及特定的环境配置等等都按预先设定好的配置来生效。Linux中的这个shell环境会读取很多不...

664
来自专栏ImportSource

使用Spring Boot开发一个Spring Mobile程序

1. 概述 Spring Mobile是一个基于Spring Web MVC框架扩展的一个针对不同移动终端的应用开发框架。通过它我们在适配不同终端方面,就不用费...

3907
来自专栏腾讯DevOps

从 SVN 到 Git

本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,并总结平时工作高频率使用到的 Git 常用命令。

2.3K8
来自专栏从零开始学自动化测试

selenium+python自动化78-autoit参数化与批量上传

前言 前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片。 这样每次调用的时候,在命令行里面加...

3203
来自专栏Java工程师日常干货

docker化你的java应用(下)

在《docker化你的java应用(上)》中,我们已经初步接触了docker的核心概念与思想,本篇博客将对docker进行实践,会介绍一些docker常用的命令...

901
来自专栏九彩拼盘的叨叨叨

Node.js 知识要点

Node.js 是一个基于 Chrome's V8 JavaScript engine 的 JavaScript 运行环境(Runtime) 。通过这个运行环...

743
来自专栏xingoo, 一个梦想做发明家的程序员

[Logstash]使用详解

  Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件...

1958

Docker-如何清理磁盘占用

最近开始打包我们的一些应用,不得不说,我已经爱上了Docker这个工具。在AWS EC2上,它的存在使我们的工作方便了许多。然而,我们遇到的唯一问题是Docke...

2157
来自专栏信安之路

Oauth协议介绍与安全隐患

OAuth 是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。目前,...

700

扫码关注云+社区