1
這主要參考Firefox add-on SDK: Get http response headers。我正在嘗試記錄對http請求的響應,但到目前爲止,我沒有運氣調試這個。真的會感激一些建議......一直在我的頭上打了幾個小時,沒有任何意見。Firefox SDK監控http響應
這是我的小擴展main.js:
var {Cc, Ci} = require("chrome");
var httpRequestObserver =
{
init: function() {
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(this, 'http-on-examine-response', false);
observerService.addObserver(this, 'http-on-examine-cached-response', false);
observerService.addObserver(this, 'http-on-examine-merged-response', false);
},
observe: function(subject, topic, data) {
if (topic === 'http-on-examine-response' || topic === 'http-on-examine-cached-response' || topic === 'http-on-examine-merged-response') {
subject.QueryInterface(Ci.nsIHttpChannel);
this.onExamineResponse(subject);
}
},
onExamineResponse: function(oHttp) {
try
{
console.log(oHttp.URI.spec);
}
catch(err)
{
console.log(err);
}
}
};
當我執行的Firefox插件SDK,測試瀏覽器啓動了罰款,如果我打開工具>附加組件>擴展,我看到我的列表在那裏。但是當我將測試瀏覽器指向google.com(或任何url)時,沒有任何東西會記錄到控制檯。
我將我的main.js與建議的技巧進行了比較@https://developer.mozilla.org/en-US/docs/Setting_HTTP_request_headers並且一切看起來都是一致的。最後,我打算做一些比記錄事情更復雜的事情,但我甚至無法使這些基本功能正常工作!
感謝您的回覆,你說得對,我的mixup瓦特/響應..但爲什麼我的代碼至少沒有記錄請求? – user2426679 2015-04-03 16:22:26
對於請求您必須設置「http-on-modify-request」的觀察者 - 注意單詞「修改」 – lexasss 2015-04-03 16:30:42