document.referrer和history.go(-1)退回上一页区别
javascript:location=document.referrer;和javascript:history.go(-1);区别:
返回上一页,在PC端我们可以使用:history.go(-1)
或者history.back(),可以正常返回第一层。这样,我们不需要上一页的 url 具体是什么,只要使用 history 一般都没啥问题。
但是在移动端,如果想要返回上一页。比如从A页面跳到B页面,如果B页面想返回A页面,为了防止不会跳错,必须要有一个 < 按钮,给它加 history.go(-1) ,返回上一层。
<a href="javascript:history.go(-1)" class="header-back jsBack">返回</a>
那如果我们没有返回上一页的 < 的按钮,在手机上怎么操作才会返回上一页,比如:从微信分享进来的,进入的是微信内页,此时,内页就是第一页,它没有上一页,要怎么返回?这时点返回按钮是没有反应的,不是一个好的用户体验,十有八九的人会误以为是BUG,这绝对是个坑爸的问题。
移动端无论是原生app还是传统的网页,返回上页是一个比较强烈的需求。
javascript 有一个可以获取前一页面的URL地址的方法:document.referrer
document.referrer 的来源
- referrer 属性可返回载入当前文档的文档的 URL【摘自W3CSHCOOL】, 如果当前文档不是通过超链接访问的,那么当前文档的URL为NULL,这个属性允许客户端的 javascript 访问 HTTP 头部;
- referrer 属性,我们可以从 http 头部获取
无法获取 referrer 信息的情况
下面的场景无法获得 referrer 信息,以下前8条属于:
- 直接在浏览器中输入地址
- 使用
location.reload()
刷新(location.href
或者location.replace()
刷新有信息) - 在微信对话框中,点击进入微信自身浏览器
- 扫码进入微信或QQ的浏览器
- 直接新窗口打开一个页面
- 从https的网站直接进入一个http协议的网站(Chrome下亲测)
a
标签设置rel="noreferrer"
(兼容IE7+)meta
标签来控制不让浏览器发送referer
- 点击 flash 内部链接
- Chrome4.0以下,IE 5.5+以下返回空的字符串
- 使用 修改 Location 进行页面导航的方法,会导致在IE下丢失 referrer,这可能是IE的一个BUG
- 跨域
<meta content="never" name="referrer">
怎么解决无法获取 referrer 的情况,还没有很好的方法,尽量避免吧。
转载于:https://www.cnblogs.com/xiaozhouyuxiaohou/p/9211783.html
document.referrer和history.go(-1)退回上一页区别相关推荐
- 微信中苹果h5页面用window.history.go(-1)返回上一页页面不会重新加载/刷新
微信中h5页面用window.history.go(-1)返回上一页页面不会重新加载问题问题描述:在实际开发中遇到这样一个问题,业务需求涉及到返回上一页问题,第一时间想到了window.history ...
- ant design pro,删除最后一页退回上一页
首先需要三个变量,分别是删除后的总数以及页码还有每页条数: var nowDatasSize: number = -1var currentPage: number = 1;var pageSize: ...
- 前端小知识:返回浏览器上一页(back、go、referrer)
官方文档(document.referrer): https://developer.mozilla.org/zh-CN/docs/Web/API/Document/referrer 官方文档(h ...
- lt;a href=quot;javascript:history.back();quot;gt;返回上一页lt;/agt;
Code: <a href="javascript:history.back();">返回上一页</a> (history.back()原页表表单中的内容会 ...
- html实现返回上一页的几种方法(javaScript:history.go(-1);)
html实现返回上一页的几种方法(javaScript:history.go(-1);) 一.总结: 1.javaScript:history.go(-1); 二.方法 1.通过超链接返回到上一页 & ...
- html5返回上一页不刷新,javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题...
我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...
- js返回上一页并刷新代码整理 转
返回上一页并刷新在此功能有利于用户的体验,是每一个web开发人员所必备的一项,长话短说,今天介绍实现此功能的一个方法,需要了解的朋友可以参考下 一:JS 重载页面,本地刷新,返回上一页 复制代码 代码 ...
- js返回上一页并刷新代码整理
一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> ...
- js返回上一页并刷新
window.history.go(-1);//返回上一页不刷新 window.location.href = document.referrer;//返回上一页并刷新 转载于:https://www ...
最新文章
- 新晋院士:直到硕士毕业前都想做公务员,现在只对科研感兴趣
- FLASHCS3多文件上传源代码(类似uccenter社区)
- c++ opencv mat 最大值,数据类型
- Vue中实现清空数组和清空el-table
- Linux sem_init函数用法
- mysql一张表最多多少索引_MySQL一个索引最多有多少个列?真实的测试例子
- java string 数组 个数,Java - 定义一个接收String的方法,并返回一个整数数组,其中包含每个元音的数量...
- 【作业报告】作业5 四则运算 测试与封装 5.2(已更新)
- python总结与思考_Python小结 – pip 升级包总结
- labview用户登录与管理界面设计
- win7专业版激活方案
- c语言自动变量全局变量,C语言全局变量的一些简单介绍
- MXF视频文件损坏的修复方法
- vue-awsome-swiper安装和css引入问题
- 入门级蛋白质结构查看PyMol的使用——PyMol常用命令
- winapi消息大全
- Android热修复学习之旅开篇——热修复概述
- 【程序设计训练】棋盘
- 无限渗透实战(2)--绕过认证上校园网
- iview表格表头上添加icon图标
热门文章
- 程序员的转正述职报告
- 四川E900s-Hi3798MV100-黑盒8G版-黄标签高安版-5800-2AHPM6B-当贝桌面强刷卡刷包
- 汇编语言里 eax ebx ecx edx esi edi ebp esp这些都是什么意思啊
- 《认知觉醒》+《认知驱动》
- 报错 Error from server (InternalError): an error on the server (““) has prevented the request from suc
- Teamvier提示商业用途限制使用的解决方案
- 电脑卡顿反应慢怎么办?这几招教给你!
- 音质卓越颜值在线,五款高人气头戴式HIFI音质蓝牙耳机排名
- 哪一款蓝牙耳机音质最好?2023发烧级音质蓝牙耳机推荐
- 支付宝出安全漏洞,买了账户安全险的也要小心