日期:2014-05-16  浏览次数:20416 次

兼容IE和标准浏览器的js跳转获取refer

在IE中用javascript做跳转,比如用window.location.href = “http://www.google.com”; google无法取到浏览器请求的HTTP referrer ,因为IE清空了document.referrer

而其他主流浏览器Firefox和Chrome都会保留referrer,这意味着IE又要享受“部长级”特殊待遇了:


if?(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
????var?referLink = document.createElement('a');
????referLink.href = url;
????document.body.appendChild(referLink);
????referLink.click();
}?else?{
????location.href = url;
}这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了