在firefox中加载页面之前修改URL

Luk*_*lze 9 url xpcom firefox-addon

我想为与我的模式匹配的URL添加前缀.当我在Firefox中打开一个新选项卡并输入匹配的URL时,不应该正常加载页面,首先应该修改URL,然后开始加载页面.

是否可以在页面开始加载之前通过Mozilla Firefox Addon修改URL?

Way*_*ett 8

浏览HTTPS Everywhere附加组件建议执行以下步骤:

  1. 注册一个观察者"HTTP-ON-修改请求"具有观察员话题nsIObserverService
  2. 如果观察者通知的主题是nsIHttpChannel的实例并且subject.URI.spec(URL)符合您的条件,请继续
  3. 创建一个新的nsIStandardURL
  4. 创建一个新的 nsIHttpChannel
  5. 用新的替换旧频道.在HTTPS Everywhere中执行此操作的代码非常密集,可能远远超出您的需要.我建议先从chrome/content/IOUtils.js.

请注意,您应该为整个应用程序注册一个"http-on-modify-request"观察器,这意味着您应该将它放在XPCOM组件中(有关示例,请参阅HTTPS Everywhere).

以下文章没有直接解决您的问题,但它们确实包含许多您可能会发现有用的示例代码: