我正在尝试开发一个firefox扩展,将额外的HTTP头字段插入到传出的HTTP请求中(与我同时开发的apache扩展接口)。
虽然我理解扩展的各个组件并理解Web上提供的基本教程,但我发现很难从“Hello World”教程扩展到开发完整的扩展。
我希望根据我的目的调整的示例代码显示在Setting HTTP request headers的底部。
我想知道,在扩展层次结构中应放置此代码的位置以及如何调用/构造/激活此代码,它是否会在扩展初始化时自动运行?
提前谢谢。
答案 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);