您的位置:首页 > 其它

[Firefox][扩展系列][01]开发环境准备

2012-11-02 17:41 417 查看

[Firefox][扩展系列][01]开发环境准备

近期计划研究下Firefox的扩展机制,从扩展开发和扩展机制(源码分析)两个角度来进行,希望通过一系列的文章将这个过程和收获呈现出来。

需要说明的是,在firefox中,扩展和插件是两个概念。扩展是对现有功能的增强,或者提供一些新的功能,能否增加扩展,在哪里增加扩展,取决于firefox是否提供可扩展的能力(也就是overlay-point,这个概念后面再详细讨论)。

而插件更多的是和MIME type绑定在一起,firefox会为每个MIME类型注册一个处理模块,当浏览器遇见一个MIME对象时,会查找对应的处理模块,为此对象提供支持。比如你可以新增一个新的.new的MIME类型的对象,然后实现一个插件来处理这个类型的对象,并这种对应关系注册到firefox中,那么当firefox遇见一个.new类型的对象时,就会调用你的插件。

首先,在开始扩展开发之前,需要对我们的firefox稍作配置,使其对开发者更加友好一些,步骤不多,仅仅三步。

一、以一个独立的profile启动filefox

为什么需要独立的Profile?

Firefox以Profile为单位来管理扩展、插件和浏览器设置,在开发时,为了获取更多Firefox运行时的细节,方便开发和调试,我们需要对Firefox做一些修改,这些修改在使得Firefox对开发者更加友好的同时,也降低了Firefox的运行效率。为了正常的网页浏览场景不受到这些修改的干扰,使用独立的Profile将不同的使用场景分隔来开显然是个不错的选择。

如何使用独立的Profile?

点击开始 - 运行输入

"%ProgramFiles%/Mozilla Firefox/firefox.exe" -no-remote -P dev

最后的dev指定了用来启动firefox的profile

如果dev这个profile不存在的话,会弹出profile管理器,在其中新建一个名为“dev”的profile即可





二、接下来修改firefox的配置

在地址栏输入“ablout:config”并回车,会显示配置信息。请新建(点击右键新建)如下几个bool型的配置字段:

javascript.options.showInConsole = true 在console窗口中显示错误信息

nglayout.debug.disable_xul_cache = true 使得XUL的修改可以立即生效(不需要重启,只需要重新加载XUL文件)

browser.dom.window.dump.enabled = true 使得dump语句生效。dump语句用来向console窗口输出信息。

javascript.options.strict = true 在console中输出js的告警信息(严格的检查)

extensions.logging.enabled = true 在console中输出扩展安装和更新时的错误信息。

三、安装专为开发者准备的扩展

在地址栏输入如下URL并回车,然后安装扩展。

https://addons.mozilla.org/en-US/firefox/addon/extension-developer/

安装之后,你可以在“工具”下面找到这个扩展。这个扩展有个“Reload all Chrome”的功能,使得我们修改了插件的代码,不需要重新安装,也无需重新启动firefox,而只需要reload就可以使得修改生效。





至此,我们可以开始Firefox扩展的开发了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: