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 相关文章推荐
js模拟类继承小例子
Jul 17 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
原生js实现图片层叠轮播切换效果
Feb 02 Javascript
jQuery+正则+文本框只能输入数字的实现方法
Oct 07 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
Mar 28 Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
详解mpvue实现对苹果X安全区域的适配
Jul 31 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 Javascript
javascript操作向表格中动态加载数据
Aug 27 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
PHP中设置时区方法小结
2012/06/03 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
layui使用label标签的方法
2019/09/14 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
python实现堆栈与队列的方法
2015/01/15 Python
Python中实现常量(Const)功能
2015/01/28 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python实现的栈(Stack)
2018/01/26 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
家佳咖啡店创业计划书
2013/12/27 职场文书
三年大学自我鉴定
2014/01/16 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
技术合作协议书范本
2014/04/18 职场文书
驳回起诉裁定书
2015/05/19 职场文书
教师节班会主持词
2015/07/06 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python
mysql数据库如何转移到oracle
2022/12/24 MySQL