初学者帮助 - 此代码属于哪里?

时间:2008-12-31 06:19:25

标签: javascript firefox xpcom

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

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

我希望根据我的目的调整的示例代码显示在Setting HTTP request headers的底部。

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



提前谢谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

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

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

当处理app-startup通知时,它会自行注册http-on-modify-request通知:

os.addObserver(this, "http-on-modify-request", false);