修改omni.ja中的jsm

修改omni.ja中的jsm

平台:FF17 win32

我正在尝试修改 omni.ja 中的 modules/AddonUpdateChecker.jsm。无论我做什么,FF 都无法注意到我的修改。

我已经经历了互联网上各个地方建议的所有内容:

  • 每一个 startupCache 都在视线之内
  • 启用/禁用扩展以强制重新加载 omni.ja
  • 甚至尝试卸载/重新安装 FF,在第一次运行之前修改 jar

我不想成为 XY 问题的受害者,所以:

我真正想做的是实现用于我的扩展的自动构建过程。是的,我知道有现成的解决方案,但我希望自己实现它,因为构建系统是高度定制的。

我现在已经到了 FF (实际上) 说我的签名是错误的地步。我怀疑这是因为我的序列化例程是错误的,我无法根据文档找出错误的位置 - 因此我想检查 FF 在客户端构建的序列化字符串以进行比较。此字符串是在 modules/AddonUpdateChecker.jsm 中构建的,并且签名是在 (通过 XPCOM) 中验证的。

那么,如何让 Firefox 注意我的修改?或者有没有更简单的方法来查看此字符串?

答案1

当前版本的 Firefox 本身带有缓存。如果您从中omni.ja删除文件,Firefox 应该会开始查看您修改的文件。此外,您需要指定命令行标志,而不是搜索启动缓存。jsloader/resource/gre/modules/AddonUpdateChecker.jsmomni.jamodules/AddonUpdateChecker.jsm-purgecaches

附注:在调试扩展安装问题时,设置为通常会有所帮助extensions.logging.enabledtrue这会将大量附加信息打印到错误控制台。当然,我不知道这些附加信息是否足以满足您的特定情况。

相关内容