为Firefox编写插件很有意思,却又很费力气,因为调试手段太缺乏。
由于Firefox在版本升级中,插件的结构发生了一定变化,而Mozila的文档对这些变化显得很不统一,也造成了一些困扰。以下所有内容,只在Firefox 1.5.*上得到验证。
一个打包好的Firefox插件是一个扩展名为xpi的zip文件,它包括以下几个部分:
1、chrome.manifest
这是核心配置文件,是它指导Firefox内核把插件的各个模块配置并组装起来,安放到指定的位置。
2、install.rdf
这一个安装和卸载是使用的描述文件,包含大量的字符串,主要供Extension Manger获取文字性的描述信息。
3、chrome/your-name.jar
这也是一个zip文件,它将会被chrome.manifest引用。
这个your-name.jar将大部分插件的内容打包,其中又包含三个文件夹
1、content
这个文件夹中包含界面描述文件XUL,JavaScript,以及资源文件。
2、locale
这个文件夹中包含为各地区和语言定制的字符串资源,可供界面文件等引用。它们应使用UTF-8编码。
3、skin
这个文件夹包含CSS样式表,可用来修饰界面文件
Firefox对所有这些文件的要求都很严格,一个细小的错误就会造成整个程序的功能错误。因此,编写时必须十分小心。