2009-11-19 92 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