2009-11-19 91 views
7

如何在我的Firefox扩展中设置HTTP标头?从Firefox扩展中设置HTTP标头

我会做到这一点,所以这些只是当我点击我的网站时发送,所以我可以检测插件是否安装,如果没有推广插件。

回答

7

这里是最紧凑的方式,我发现,使这项工作:

Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService).addObserver({ 
    observe : function(subject, topic, data) { 
      var channel = subject.QueryInterface(Components.interfaces.nsIHttpChannel); 
      if (/mysite/.test(channel.originalURI.host)) { 
       channel.setRequestHeader("x-mysite-extended", "true", false); 
      } 
    } 
},"http-on-modify-request",false); 
+0

如果您想了解更多相关信息: http://www.softwareishard.com/blog/firebug/nsitraceablechannel-intercept-http-traffic/ – 2010-02-10 20:38:10

5

有几个现有的Firefox扩展可修改HTTP头到服务器的路径,其中至少有一个modifyheadersopen source code

或者,当然,在Mozilla开发人员中心有相关页面,Setting HTTP request headers

+0

感谢delfuego。我已经读过,但无法弄清楚如何让它起作用。最后有一位朋友帮助我,并根据他的经验和你建议我们解决的文档。 – luisgo 2009-11-22 04:41:42