返回上一页跳过中间页面,返回上一页跳过敏感页面
常见一种情况,例如支付:
有如下三个页面:入口页面,填写金额页面,支付成功页面
其中支付页面在支付成功有会有一个返回上一页的按钮,点击就返回上一页,或者点击浏览器返回上一页会出现继续进入输入金额的页面。
现在解决这个问题
关键点:
history.replaceState(null, null, document.referrer);
document.referrer(改属性非常的脆弱,参考:http://driftcloudy.iteye.com/blog/986265)
location.replace
方案1:
添加中间空白页面:
agency.html,输入金额页面跳转和支付成功跳转,都是跳转到这个页面。
if(/order\.html/.test( document.referrer)){window.location.href = window.ptDomain + "person/welfare";}else{history.back();}
切记跳转代理页面的时候不要用location.relace("xx/agency.html");
这样处理的话会把来源页面的历史记录替换成代理页面,这样就无法判断来源了
输入金额页面:
替换当前页面的历史记录为代理页面:
location.replace("./agency.html");
支付成功的页面直接:
location.history.back()
方案2,不需要中间件:
a.html
<p>我是aaaaaaaaaaaaaaaaaaa</p><a href="./b.html">去bbbbbbbbb</a>
b.html
<p>我是b</p><a href="c.html"> 去ccccccccc</a><script>history.replaceState(null, null, document.referrer);console.log("后:",window.history)</script>
C.html
<body><div id="wrap"></div><p οnclick="javascript:deleB()">我是c.html,点击跳过b</p>
<script>function deleB(){history.back();}console.log(document.referrer)</script>
</body>
注意:
如果涉及跨域,必须使用代理的方式,history.replaceState不支持不同域名,location.replace没有跨域问题,history.replaceState和location.replace都可以删除当前页面的历史记录替换成指定的
返回上一页跳过中间页面,返回上一页跳过敏感页面相关推荐
- elementUI + vue 地址跳转:无法返回上一页 - 解决篇
elementUI + vue 项目:浏览器无法返回上一页 ?总是停留在当前页面? 代码块1: 不能正常返回上一页 // 成功之后执行跳转 this.$router.pushthis.$router. ...
- easyUI分页中,如何实现页面跳转,再返回时,仍然到跳转前页数。(含页面显示条数)
easyUI中,分页情况下,跳转到其他页面修改数据,再返回时,相当于重新打开此页面,即显示第一页. 这样很不方便.故提出跳转回修改前的页面的需求. 通过网上搜索,了解到实现页面跳转回去的基本原理是:传 ...
- 苹果微信html页面缓存,Ios中微信页面返回上一页去除缓存几种常见思路
前言 这篇文章主要讲解决思路,不对各种概念进行过多讲解. 问题描述 开发微信H5页面的时候,在Ios微信内置浏览器中点击返回按钮返回上一页时,上一页面不会被刷新. 在浏览器缓存机制中,在返回上一页的操 ...
- html ios返回后刷新页面,Ios中微信页面返回上一页去除缓存几种常见思路
前言 这篇文章和第,.年过事工宗据指数遍互业经搞断果会主要讲解决思路,不对各种概念进行抖要支圈者器说是事天开的.年后编定功口小发还应久剑过多讲解. 问题描述 开发微信H5页面的时候,在Ios微信内置浏 ...
- html里怎样返回首页,返回上一页-html页面返回上一页面怎么写
提供3种方法: 1.超链接返回上一页. 返回上一页 2.按钮返回上一页. 3.图片链接返回上一页. [color=#]几秒钟后[/color]自动返回上一页代码:(加入两个head间,表示3秒) fu ...
- java 返回上一个页面_页面返回上一页浏览位置
1.如果上一页是静态页面,可以用 history.go(-1)方法: go() 方法可加载历史列表中的某个具体的页面. 该参数可以是数字,使用的是要访问的 URL 在 History 的 URL 列表 ...
- javascript 跳转页面 关闭当前页面 返回上页面
//跳转页面 1.window.location.href //跳转到的页面 2.如何有form 表单的话 document.form[0].action = //跳转的action ...
- jsp页面返回上一页,在两个页面死循环
例子:a页面进入b页面,然后b页面进入c页面,c页面能返回到b页面,但是b页面返回不能到a页面,只能回到c页面,然后就是b,c页面之间返回的死循环. 一般我们写返回上一页面,用history.go(- ...
- h5 跳转上个页面刷新_关于javascript跳转与返回和刷新页面
javascript中window.open()与window.location.href的区别 1.window.open('index.html') 表示新增一个窗口打开 index.html 这 ...
最新文章
- 【java】浅谈注释
- Eclipse自动注册Servlet:web.xml注册和@Servlet注解 实现注册
- 剑指 offer 树的子结构
- 计算某一段程序消耗的内存和时间【Java】
- 硕博士的朋友圈都有哪些特点?
- LINQ to SQL
- 2016重庆计算机一级考试题型,重庆计算机一级考试真题2016年最新(笔试+上机)
- mysql 缓存优缺点_MySQL查询缓存的优缺点
- 汇编的接触——基础知识
- Java开源内容管理CMS系统J4CMS集成到JTM
- python调用百度查询关键字_Python模拟搜索百度关键字
- 《回话的技术》阅读笔记
- Win11系统的显卡驱动安装的详细方法步骤
- SEGGER Embedded Studio 搭建开发环境
- fprintf用法解析
- Django | ORM choices参数详解
- jQuery删除表格中指定行
- 分享|小程序游戏在自有APP上的正确运行方法
- 学习Cortex-M:三种关中断方式
- SCS【9】单细胞转录组之构建细胞轨迹 (Monocle 3)