2007年 01月 31日

リファラ書きかえ @userChrome

(function () {
	function FakeReferer () {
	}
	FakeReferer.prototype = {
		observe: function(aSubject, aTopic, aData) {
			if ((aTopic == 'http-on-modify-request')
					&& (typeof Components != "undefined")) {
				aSubject.QueryInterface(Components.interfaces.nsIHttpChannel);
				this.onModifyRequest(aSubject);
			}
		},

		// http://xulplanet.mozdev.org/references/xpcomref/nsIHttpNotify.html
		// http://xulplanet.mozdev.org/references/xpcomref/nsIHttpChannel.html
		onModifyRequest : function (oHttp) {
			if(oHttp.referrer) {
				// dump(oHttp.originalURI.spec);
				oHttp.setRequestHeader("Referer", oHttp.originalURI.spec, false);
			}
		},
	};

	Components.classes["@mozilla.org/observer-service;1"]
	          .getService(Components.interfaces.nsIObserverService)
	          .addObserver(new FakeReferer, "http-on-modify-request", false);
	if (typeof window.getBrowser == "function") {
		window.getBrowser().addProgressListener(arrListener , Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
	}
})();

LDR で画像の表示制限されてるの読むとき用につくった、のだけど勘違い(謎)だったらしくてアレ

http://d.hatena.ne.jp/stanaka/20060409/p1 これから必要な部分だけとってきてちょっとかえただけ