1. 准备目录结构
首先在硬盘上建立一个目录,名为extension。这个名字是随意取的。然后在里面建立chrome文件夹,再在chrome里面建立content文件夹。注意这两个文件夹的名字都是固定的,不能随意改动。然后在extension里面新建两个文本文件,并且取名为chrome.manifest和install.rdf。这样,就建立起如下的目录结构:
extension|--content
2. 编写install.rdf
用文本编辑器打开install.rdf文件,输入以下内容:
Xml代码
Xml代码
上面的install.rdf的注释很多,实际应用中就不需要那么多注释了。
3. 编写XUL文件
Firefox的界面使用XUL和JavaScript进行描述。XUL即XML User Interface Language,是Mozilla开发的一种使用XML进行用户界面描述的语言。XUL只用来定义用户界面,其组件的功能由JavaScript进行定义。
Firefox的整个界面都使用XUL进行定义。可以在%FIREFOX_INSTALL_DIR%/chrome/browser.jar里面找到content/browser/browser.xul文件。(说明一下,jar文件可以用WinRAR或其他一些压缩工具解压缩,这是一个使用zip算法压缩的压缩包)在这个XUL文件中有这么一段:
Xml代码
这里的这个
Xml代码
刚刚说了,
明白了这段代码之后,我们把这个文件定义成sample.xul,保存在chrome/content下面。可以看到这个文件夹结构和Firefox自有的那个结构是一致的。
在写完了XUL文件之后,我们要定义其chrome.manifest。XUL文档需要通过chrome://协议进行请求。chrome://类似http://协议,只不过是用来请求XUL文档的。在Firefox的地址栏中输入chrome://browser/content/browser.xul,看看有什么反应,就会知道XUL文档的作用了。
这个URL包括四部分:
4) browser.xul - 请求的文件名。
所以,chrome://foo/skin/bar.png就是请求一个在foo包下面的skin里面的bar.png文件。
4. 编写chrome.manifest
在chrome.manifest中添加下面一句:
content sample chrome/content/
这里指明,请求类型时content,包名是sample,位置是相对于chrome.manifest文件的chrome/content/。注意,这里的最后面一个/是不能缺少的!
然后需要告诉Firefox我们的扩展Overlay,在chrome.manifest里面再添加一句:
overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul
这句是告诉Firefox,需要在chrome://browser/content/browser.xul加载的时候将chrome://sample/content/sample.xul扩展进来。
5. 测试
至此,我们已经完成了这个Hello World的插件。下面我们测试一下。
使用压缩工具将extension文件夹压缩成zip文件,注意有些工具会将本文件夹加入压缩包,这里要求压缩包解开之后应该是extension下面的两个文件和一个文件夹,而不是extension文件夹。然后将后缀名改为xpi。然后打开Firefox(我测试的版本是3.0.10),将这个xpi拖到窗口中,Firefox将提示安装插件,按照一般的过程安装之后,重启Firefox有时候在安装插件时会有找不到安装脚本的错误,就是因为在压缩时根下面没有install.rdf那一层导致的。
交易额: 1166.99万元
无 |山东省 |青岛市 |城阳区
交易额: 1067.69万元
个人 |山东省 |青岛市 |城阳区
交易额: 381.16万元
工作室 |广东省 |惠州市 |惠城区
交易额: 249.47万元
公司 |上海市 |上海市 |黄浦区
成为一品威客服务商,百万订单等您来有奖注册中
价格是多少?怎样找到合适的人才?
¥2000 已有2人投标
¥500 已有1人投标
¥1000 已有1人投标
¥5000 已有1人投标
¥400 已有1人投标
¥5000 已有1人投标
¥4200 已有1人投标
¥4000 已有42人投标