您的位置:首页 > Web前端

js中的referrer使用,返回上一页

2013-09-26 10:21 148 查看
js完整代码:

<script language="javascript">

var refer=document.referrer;

document.getElementById('backurl').value=refer;

</script>

如有转载,请标明来自此出处http://blog.csdn.net/qxs965266509,必须注意!

“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又要享受“部长级”特殊待遇了:

view source

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就能保留了。

所以我们的根据不同浏览器的不同情况,必须的考虑完整,让代码变得强壮。

如有转载,请标明来自此出处http://blog.csdn.net/qxs965266509,必须注意!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: