2009-11-29 25 views
0

我正在開發一個插件,它將修改firefox所做的所有http請求。因此,我想要監聽和修改來自不同站點的所有瀏覽器請求url。我如何獲得對不同http請求url的訪問並修改它們。請求任何http請求之前,是否有任何事件在firefox中被觸發? 因此,無論如何請建議訪問瀏覽器所做的所有請求(ajax以及document.src)並修改它們的url。 Thanxs!監聽並訪問由firefox提出的所有請求

回答

1

你應該看看tamperdata sources這是一個Firefox的擴展,以跟蹤和修改HTTP請求的http &。

1

您應該註冊nsIObserver的「http-on-modify-request」事件。這會在瀏覽器發出之前爲您提供每個請求。

var {Cc, Ci} = require("chrome"); 

var httpRequestObserver = 
{ 
    observe: function(subject, topic, data) 
    { 
    if (topic == "http-on-modify-request") { 
     var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel); 
     var requestURI = httpChannel.URI.spec; 
     // ... 
    } 
    } 
}; 

var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService); 
observerService.addObserver(httpRequestObserver, "http-on-modify-request", false); 
相關問題