js中的referrer返回上一页使用介绍


Posted in Javascript onSeptember 26, 2013

js完整代码:

<script language="javascript"> 
var refer=document.referrer; 
document.getElementById('backurl').value=refer; 
</script>

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

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

Javascript 相关文章推荐
jQuery操作input值的各种方法总结
Nov 21 Javascript
js调试系列 初识控制台
Jun 18 Javascript
js使用递归解析xml
Dec 12 Javascript
Jquery 垂直多级手风琴菜单附源码下载
Nov 17 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
Nov 19 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
Jan 25 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
vue 实现把路由单独分离出来
Aug 13 Javascript
详细谈谈JavaScript中循环之间的差异
Aug 23 Javascript
JavaScript中的运算符种类及其规则介绍
Sep 26 #Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 #Javascript
Jquery实现图片左右自动滚动示例
Sep 25 #Javascript
jquery实现加载等待效果示例
Sep 25 #Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 #Javascript
jquery实现table鼠标经过变色代码
Sep 25 #Javascript
js跨浏览器实现将字符串转化为xml对象的方法
Sep 25 #Javascript
You might like
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
动态新闻发布的实现及其技巧
2006/10/09 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
php绘制一条弧线的方法
2015/01/24 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Python如何实现的二分查找算法
2020/05/27 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
python中upper是做什么用的
2020/07/20 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
党员干部一句话承诺
2014/05/30 职场文书
群众路线剖析材料
2014/09/30 职场文书
三峡大坝导游词
2015/01/31 职场文书
义诊活动总结
2015/02/04 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers