js完整代码:
复制代码 代码如下:
“http_referer”
链接到当前页面的前一页面的 url 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 http_referer。因此,这个变量不总是真实正确的。
注意 document.referrer; 和“http_referer” 中间差一个字母,却是不同的概念的东东,请注意使用
js中的referrer使用,返回上一页
在js中写上location.href = document.referrer;就可以实现跳转到上一个页面了,让用户觉得体验很好
但是在ie中referrer就没那么尽人意了啊,ie会清空referrer
众所周知,我们web开发人员痛恨ie浏览器,因为ie不支持标准,标准外的默认行为又和其他浏览器经常不一致:
在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就能保留了。
所以我们的根据不同浏览器的不同情况,必须的考虑完整,让代码变得强壮。