h5 控制页面不可以返回_关于H5中返回不生效的问题

在H5中,window.history.go(-1)可能无法在内置浏览器中实现页面返回,可使用location.href = document.referrer作为替代。document.referrer属性返回前一页面URL,但某些情况下可能为空。在IE浏览器中,需要特别处理以保持referrer信息。此外,讨论了window.history.back(-1)和window.history.go(-1)的区别,以及在没有来源页面信息时返回首页的处理方式。
摘要由CSDN通过智能技术生成

在H5中使用window.history.go(-1);不能生效

如果app中内置h5的跳转页面,当在其中使用window.history.go(-1)时,并不能返回

可以使用解决 location.href = document.referrer;

关于document.referrer

获取前一页面的URL地址的方法:document.referrer

referrer 属性可返回载入当前文档的文档的 URL, 如果当前文档不是通过超链接访问的,那么当前文档的URL为NULL,这个属性允许客户端的 javascript 访问 HTTP 头部;

referrer 属性,我们可以从 http 头部获取

在控制的network中的请求头中可以找到referrer的信息

无法获取 referrer 信息的情况

直接在浏览器中输入地址

使用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

跨域

doc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值