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 相关文章推荐
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
May 19 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
Jquery实现跨域异步上传文件总结
Feb 03 Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
Sep 20 Javascript
详解如何使用koa实现socket.io官网的例子
Nov 04 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
使用webpack编译es6代码的方法步骤
Apr 28 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
JavaScript中关于base64的一些事
2019/05/06 Javascript
python各种语言间时间的转化实现代码
2016/03/23 Python
python中的字典使用分享
2016/07/31 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
python实现电脑自动关机
2018/06/20 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python manage.py runserver流程解析
2019/11/08 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
python如何停止递归
2020/09/09 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python