IE 6/7 に表示された Flash で navigateToURL を呼ぶとリファラが取れない (document.referrer === "" //true) 問題の回避方法。
アンカーエレメントをクリックしたことにする
アンカーエレメントを作って click イベントを呼べば、リファラを取ることができる。
ActionScript
ExternalInterface.call("navigateToURL", "hoge.html");
JavaScript
IE ではアンカーエレメントを生成し、IE 以外では location.href を書き換える。
function navigateToURL(url) { if (!!document.all) { var body = document.getElementsByTagName("body")[0]; var dummyLink = document.createElement("a"); dummyLink.href = url; body.appendChild(dummyLink); dummyLink.click(); body.removeChild(dummyLink); } else { location.href = url; } }