「通信を監視してキャンセルする」の編集履歴(バックアップ)一覧はこちら
「通信を監視してキャンセルする」(2016/04/29 (金) 11:21:53) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**http通信を監視してキャンセルする
通信をキャンセルするだけなので、タブやウィンドウが開いたりとかはする
#highlight(javascript){{
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
var httpRequestObserver = {
QueryInterface : XPCOMUtils.generateQI([Ci.nsIObserver]),
observe: function(aSubject, aTopic, aData) {
var request = aSubject.QueryInterface(Ci.nsIHttpChannel);
var exp = new RegExp('^http://sample\\.com/');
if (exp.test(request.URI.spec)) {
Services.console.logStringMessage("[http-on-modify-request] [CANCEL]\n" + request.URI.spec);
request.cancel(Cr.NS_BINDING_ABORTED);
}
},
}
Services.obs.addObserver(httpRequestObserver, "http-on-modify-request", false);}}
-[[FirefoxでHTTPリクエストのURLを書き換えるアドオンを作成する - 遥かへのスピードランナー>http://poly.hatenablog.com/entry/20080604/1212561182]]
-[[片鱗懐古のブログ: firefoxアドオン : httpリクエストのキャンセルをするアドオンのサンプル>http://pieceofnostalgy.blogspot.jp/2013/01/firefox-http.html]]
通信をキャンセルするだけなので、タブやウィンドウが開いたりとかはする
#highlight(javascript){{
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
var httpRequestObserver = {
QueryInterface : XPCOMUtils.generateQI([Ci.nsIObserver]),
observe: function(aSubject, aTopic, aData) {
var request = aSubject.QueryInterface(Ci.nsIHttpChannel);
var exp = new RegExp('^http://sample\\.com/');
if (exp.test(request.URI.spec)) {
Services.console.logStringMessage("[http-on-modify-request] [CANCEL]\n" + request.URI.spec);
request.cancel(Cr.NS_BINDING_ABORTED);
}
},
}
Services.obs.addObserver(httpRequestObserver, "http-on-modify-request", false);}}
-[[FirefoxでHTTPリクエストのURLを書き換えるアドオンを作成する - 遥かへのスピードランナー>http://poly.hatenablog.com/entry/20080604/1212561182]]
-[[片鱗懐古のブログ: firefoxアドオン : httpリクエストのキャンセルをするアドオンのサンプル>http://pieceofnostalgy.blogspot.jp/2013/01/firefox-http.html]]