5

我正在尝试开发一个 Firefox 扩展,它将额外的 HTTP 标头字段插入到传出的 HTTP 请求中(以与我同时开发的 apache 扩展接口)。

虽然我了解扩展的各个组件并了解 Web 上提供的基本教程,但我发现从“Hello World”教程扩展到开发完整的扩展很困难。

我想要适应我的目的的示例代码显示在设置 HTTP 请求标头的底部。

我想知道,这个代码应该放在扩展层次结构中的什么位置,以及如何调用/构造/激活这样的代码,它会在扩展初始化时自动运行吗?



提前致谢。

4

2 回答 2

2

对于基本扩展,您可以将代码放在扩展的 chrome/content 目录中。您可以使用覆盖将此内容挂接到 Firefox 中。虽然覆盖通常是 xul 内容(按钮等),但它们可以是任何东西。包括一个脚本标签,它会加载你的 Javascript 代码。

于 2008-12-31T12:26:38.030 回答
0

该代码是一个 XPCOM 组件并进入一个components/<some name>.js文件。

如果你想深入了解 XPCOM 组件,你应该阅读它,但是是的,.js 文件components是在启动时加载的。此类文件包含注册代码(从var myModule = {该示例中的行开始),它告诉 Firefox 文件中定义的组件是否可根据请求使用,或者是否应该自动实例化。

在该示例中,您可以看到组件已注册以收到应用程序启动的通知:

catMgr.addCategoryEntry("app-startup", this.myName, this.myProgID, true, true);

并且在处理应用程序启动通知时,它会为 http-on-modify-request 通知注册自己:

os.addObserver(this, "http-on-modify-request", false);
于 2009-01-15T02:19:17.777 回答