Mozilla扩展开发的几个技巧

1. 为Firefox建立一个新的profile,专门用于扩展的开发和测试。

启动Firefox时加上-P参数会同时启动Firefox的Profile管理器, 可以新建、重命名或删除Profile。

建好一个新的Profile后,下次需用-P <Profile Name>参数启动Firefox。

注意,使用-P参数时要指定环境变量 MOZ_NO_REMOTE=1

为了日后方便,可以使用Shell脚本或批处理:
startff.sh

#!/bin/bash
export MOZ_NO_REMOTE=1
firefox -P $1 -console

startff.bat

@Echo off
Set MOZ_NO_REMOTE=1
Start firefox.exe -P %1 -console
Exit

参数-console让Firefox带一个控制台启动,可以观察Javascript的dump函数的输出。

2. 修改几个Firefox设置方便开发。

  • javascript.options.showInConsole = true 将chrome 类型的错误提示信息显示在 JavaScript 控制台中
  • nglayout.debug.disable_xul_cache = true 不缓存XUL
  • browser.dom.window.dump.enabled = true 允许dump函数
  • javascript.options.strict = true 允许严格的 Javascript 警告出现在 JavaScript 控制台中。

3. 注意扩展文件的编码方式,尤其是进行Locale的L10N的时候。对编辑器的要求是这样的:

  • Support UTF-8 file format
  • Option for leaving out Unicode signature, BOM (Byte Order Mark, U+FEFF)
  • Support escaped Unicode (uXXXX)

我感觉EditPlus和UltraEdit读取和保存UTF-8文件的功能都不是很好用,会造成Firefox无法识别XUL或DTD文件。后来找到了UniRed、PSPad这些支持保存不带BOM的UTF-8文件的编辑器。

参考: