火狐浏览器插件开发入门教程

许多网友都想学习火狐浏览器插件开发这一方面的知识,不过,目前,许多资料都是比较晦涩难懂,不太适合初学者 。那么,初学者想要学习火狐浏览器插件开发该怎么入门呢?还是一起来看看今天的火狐浏览器插件开发入门教程!

火狐浏览器插件开发入门教程

文章插图
火狐浏览器
首先需要知道什么是Firefox插件 。这里说的插件只是一个通俗的说法,其实Firefox这种扩展功能的插件包括:扩展extension和插件plugin 。
Firefox官方网站的解释是:Extensions are small add-ons that add new functionality toyour Mozilla program. Plugins are programs that allow websites to providecontent to you and have it appear in yourbrowser.(扩展是能够给Mozilla增加一些新功能的附加软件,插件是允许网站向你提供内容并在浏览器中显示的程序) 。通俗的讲,扩展是基于Firefox本身增加的一些实用功能,而插件则是在Firefox之外独立编写的程序,用于显示网页中的特定内容如Flash、视频和Java等 。
其实,我们需要开发的是Extension 。
要开发Extension,可以分几步走:
1.了解什么是Extension,一般现成的Extension怎样组成的?里边包含的每个文件具体的作用是什么?
2.了解Firefox处理运行Extension的机制 。例如Xpcom,chrome机制等 。
3.看看入门例子,用记事本,做一个最简单的扩展,运行一下 。另外,使用Firefox,下载一些常用的扩展,并查看一下人家的源代码 。
4.正式搭建开发环境 。
5.一边学习人家的代码,一边修改代码实现自己的扩展 。
第一步和第二步:
需要了解:chrome,rdf,manifest,xul,xpcom等概念 。
扩展(extensions)
Extensions添加新功能到MozillaFirefox中 。Extensions可以简单添加一个工具栏按钮,也可以实现一个完整的新功能 。Extensions可以让firefox更加适合个人需要 。
Extensions跟plugins(插件)不同 。插件帮助浏览器显示特殊内容,例如播放多媒体文件 。常见的插件是flashplayer 。而Extensions也跟搜索引擎插件不同,搜索引擎插件只是在搜索栏里边多加入一个搜索引擎地址而已 。
一个扩展,通常是一个XPI(Cross-Platform InstallerModule)包,其实是一个zip类型的压缩包,里边包括必须的文件 。在下边的图1中,显示了一个标准的扩展包括的文件和文件的目录结构 。
火狐浏览器插件开发入门教程

文章插图
firefox扩展目录结构
在上图中,content 目录下面存放的是扩展的描述界面的 XUL 文件和增加行为的 JavaScript 文件 。locale目录存放的是本地化相关的文件 。如果需要支持英文和中文,就可以在 locale 目录下面新建 en-US 和 zh-CN 目录来存放相应的本地化字符串 。skin目录存放的是一些 CSS 文件,用来定义扩展的外观 。chrome.manifest 是 Chrome 注册的清单文件(参见 2.2节) 。install.rdf分别包含了扩展安装的信息 。
chrome
Chrome 指的是应用程序窗口的内容区域之外的用户界面元素的集合,这些用户界面元素包括工具条,菜单,进度条和窗口的标题栏等 。Chrome提供者能为特定的窗口类型(如浏览器窗口)提供 chrome 。有三种基本的 chrome 提供者:
l 内容(Content):通常是 XUL(XML User Interface Language) 文件 。而XUL文件将会指定扩展在Firefox中运行时表现的界面和功能 。XUL文件是一种Javascript文件,设计的目的是为了描述窗口和对话框的内容 。
l 区域(Locale) :存放本地化信息 。
l 皮肤(Skin):描述 chrome 的外观 。通常包含 CSS 和图像文件 。
XULRunner
XULRunner项目提供一套称为XULRunner的Mozilla运行支持包,用于启动基于XUL XPCOM(见2.4节)的程序,例如Firefox,Thunderbird,Sunbird 。它提供各种机制,包括安装,升级,卸除这些软件的功能 。

推荐阅读