HTTP の「リファラ」の綴り「REFERER」は、英語の「referrer」の綴りを間違った(R がひとつ足りない)まま使い始めてしまい、変えるに変えられなくなったので、現在も綴り間違いのまま利用されているというのは有名な話。
その前知識があったので、JavaScript でリファラを取得するプロパティが、正しい綴りを使った document.referrer
だったのを知った時には、なんか妙に新鮮だった。
あと、通常は、書き換えることができない document.referer
の値なのだが、次のようにすると指定した値を返すことができるのも知った。
document.__defineGetter__('referrer', function() {
return 'http://example.com/'
});
ブラウザの console で、document.referrer
を叩いて値を確認して、
document.referrer
"https://www.google.co.jp/"
前述の方法で返り値を定義して、
document.__defineGetter__('referrer', function() {
return 'http://example.com/'
});
undefined
再度、document.referrer
を確認すると、指定した「http://example.com/
」が返ってくることが分かる。
document.referrer
"http://example.com/"
ただ、この __defineGetter__
は Non-standard かつ Deprecated の扱いとのことなので、利用は控えめに。まぁ、MDN の Browser compatibility の欄を見ると、ほとんどのブラウザで動作はするようだけど。