firefox userChrome.js greasemonkeyスクリプトスレ 3
■ このスレッドは過去ログ倉庫に格納されています
0790初スレの80
2008/01/12(土) 00:05:11ID:ccdJCkb90新しいwindowが開く度にaddObserverにてオブザーバの登録がされてしまうと言うバグです.
完璧じゃないけど取り合えず直しました.
(function(){
let Cc = Components.classes;
let Ci = Components.interfaces;
let list = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator('navigator:browser');
while(list.hasMoreElements()){ if(list.getNext() != window) return; }
Cc['@mozilla.org/observer-service;1'].getService(Ci.nsIObserverService).addObserver({
observe: function(subject,topic,data){
if(topic != 'http-on-modify-request') return;
var http = subject.QueryInterface(Ci.nsIHttpChannel);
if(http.referrer && http.referrer.host != http.originalURI.host) http.setRequestHeader('Referer',http.originalURI.spec.replace(/[^/]+$/,''),false);
}
},'http-on-modify-request',false);
})();
■ このスレッドは過去ログ倉庫に格納されています