我正在尝试开发一个 Firefox 扩展,它将额外的 HTTP 标头字段插入到传出的 HTTP 请求中(以与我同时开发的 apache 扩展接口)。
虽然我了解扩展的各个组件并了解 Web 上提供的基本教程,但我发现从“Hello World”教程扩展到开发完整的扩展很困难。
我想要适应我的目的的示例代码显示在设置 HTTP 请求标头的底部。
我想知道,这个代码应该放在扩展层次结构中的什么位置,以及如何调用/构造/激活这样的代码,它会在扩展初始化时自动运行吗?
提前致谢。
我正在尝试开发一个 Firefox 扩展,它将额外的 HTTP 标头字段插入到传出的 HTTP 请求中(以与我同时开发的 apache 扩展接口)。
虽然我了解扩展的各个组件并了解 Web 上提供的基本教程,但我发现从“Hello World”教程扩展到开发完整的扩展很困难。
我想要适应我的目的的示例代码显示在设置 HTTP 请求标头的底部。
我想知道,这个代码应该放在扩展层次结构中的什么位置,以及如何调用/构造/激活这样的代码,它会在扩展初始化时自动运行吗?
提前致谢。
对于基本扩展,您可以将代码放在扩展的 chrome/content 目录中。您可以使用覆盖将此内容挂接到 Firefox 中。虽然覆盖通常是 xul 内容(按钮等),但它们可以是任何东西。包括一个脚本标签,它会加载你的 Javascript 代码。
该代码是一个 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);