- 790 名前:初スレの80 mailto:sage [2008/01/12(土) 00:05:11 ID:ccdJCkb90]
- >>774
新しい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); })();
|

|