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 相关文章推荐
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
Jul 29 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
Sep 29 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
探讨JavaScript标签位置的存放与功能有无关系
Jan 15 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
Jun 02 Javascript
jQuery异步提交表单的两种方式
Sep 13 Javascript
JavaScript Canvas绘制圆形时钟效果
Aug 20 Javascript
在Vue中使用echarts的实例代码(3种图)
Jul 10 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
JavaScript剩余操作符Rest Operator详解
Jul 20 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
Sep 21 Javascript
.netcore+vue 实现压缩文件下载功能
Sep 24 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
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
详解Python中的循环语句的用法
2015/04/09 Python
Python编程之属性和方法实例详解
2015/05/19 Python
python删除服务器文件代码示例
2018/02/09 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
工作失误检讨书范文大全
2014/01/13 职场文书
幼儿园大班新学期寄语
2014/01/18 职场文书
网络编辑岗位职责
2014/03/18 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
javascript之Object.assign()的痛点分析
2022/03/03 Javascript