IE下document.referrer 拒绝访问的解决方法

632 查看

用document.referrer回到来源页(也可以称作上一页)时非常方面,我们不用知道来源页复杂的url,而且document.referrer回到来源页时会重新加载,而不是上一次的状态,所以说非常的方便。

但是在IE中用javascript做跳转,比如用window.location.href=“”; 跳转到的页面无法取到浏览器请求的HTTP referrer,IE浏览器会报脚本错误“拒绝访问”,因为IE清空了document.referrer。

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

var referLink = document.createElement('a');
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();

这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。