用javascript实现禁止页面后退返回上一页的代码: 

有时候我们需要用户在点击了如下一步的按钮时,页面跳转到了下一个页面,这时想不允许用户返回后退到上一页,可以采用下面的方法: 

在需要跳转的页面(上一个页面),添加如下代码: 

<script type="text/javascript"> 

history.go(1); 

</script> 

这时,如果从此页面跳到另外一个页面后,即使点击浏览器的后退按钮也是无效的,也回不到刚才的页面了。

其实方法不唯一,以上只是一个比较简单实用的代码。

注意:加入history.go(1);之后,虽然无法返回上一页,但是点击回退按钮后,程序还是会跑一遍上一页的代码,然后再回到当前页(通过地址栏中当前页的url再次回到本页)。

<script type="text/javascript">
history.go(1);
</script>
<?php
session_start();
if(!isset($_SESSION['a'])) $_SESSION['a']=0;
echo $_SESSION['a']++;//每次加1
?>
<br/><a href='./b.php'>aaa</a>

b.php

<?php
session_start();
echo $_SESSION['a'];
?>

需要禁止页面后退的情境:

一个领取礼包的小活动,当用户在领取礼包的页面点击【领取礼包】按钮(跳转链接是:/3G/index/share_prize/<?php echo $memberId;?>/<?php echo $share_id;?>)后,执行后台程序,在数据库中新增一条记录,并跳转到下一页。如果已经到了下一页,此时用户再点击后退按钮回到第一页的话,那么就能重复的领取礼包,这是我不愿意看到的。

此时就可以在代码头部加上:history.go(1); 而且不用担心回退之后程序重新跑一遍原来的代码,自动在数据库插入一条数据,因为我是点击【领取礼包】这个链接进入后台控制器的,当我由第二页点击后退按钮返回上一页时,并没有点击【领取礼包】这个动作,因此程序不会再次执行控制器中的代码,而是直接跳回第二页。

用javascript实现禁止页面后退返回上一页的代码的更多相关文章

  1. HTML页面 js返回上一页

    <input type="button" name="Submit" onclick="javascript:history.back(-1); ...

  2. vue单页面项目返回上一页无效,链接变化了,但是页面没有变化

    在最近的项目中,返回上一页没有效果,经过好久的排查才发现问题,是路由守卫写法不规范导致. 在项目中用路由守卫做了登录拦截,没登录的跳转到登录页面.页面跳转和拦截都没问题,但是返回上一页就不行了,也没有 ...

  3. iframe子页面无法返回上一页的问题

    本文讨论的场景是ipad终端. 如题,因业务需要,需要使用iframe嵌套子页面.让外层始终保持一个socket连接,避免socket每跳转一个页面都要重新关闭建立连接的问题.但是这样问题来了,上线后 ...

  4. html实现返回上一页的几种方法(javaScript:history.go(-1);)

    html实现返回上一页的几种方法(javaScript:history.go(-1);) 一.总结: 1.javaScript:history.go(-1); 二.方法 1.通过超链接返回到上一页 & ...

  5. html中返回上一页的各种写法【转】

    超链接返回上一页代码: <a href="#" onClick="javascript :history.back(-1);">返回上一页</ ...

  6. JS控制,返回上一页之后强行刷新一次

    网站建设过程中,提交页面后我们经常要用到window.history.go(-1)返回上一页,因为页面的缓存功能,我们只能返回上次操作的页面,但在删除等操作中,我们希望实时看到删除项目后的页面,这就要 ...

  7. js返回上一页并刷新代码整理

    一:JS 重载页面,本地刷新,返回上一页 复制代码 代码如下: <a href="javascript:history.go(-1)">返回上一页</a> ...

  8. [moka同学收藏]网页上的“返回上一页”的几种实现代码

    我们在制作网页的时候,经常在网页上要用到"返回上一页"的功能.这一功能在制作网页的时候会有多种编码方法,在此,笔者将比较常用的几种编码写作方法在下面列出来,供各位技术人员参考使用. ...

  9. JS跳出框架返回上一页

    链接部分 <a class="link" href="javascript:;" target="_top" onclick=&quo ...

随机推荐

  1. 【转】深入理解java的String

    要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable).什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创 ...

  2. C# DLL(程序集)的生成和调用

    日期:2018年11月24日 环境:Window 10,VS2015 一.利用VS2015自带的工具生成DLL 步骤: 1.利用C#准备一个.cs文件: using System; public cl ...

  3. ubuntu重新安装 apache2

    $ sudo apt-get --purge remove apache2 $ sudo apt-get --purge remove apache2.2-common $ sudo apt-get ...

  4. 认识data-xxx 的属性

    认识data-xxx 的属性 如, 在bootstrap之data-toggle="table", 不加这个属性,就不能实现框架自带的js效果. 1.它属于 HTML5 的 dat ...

  5. Transfer data to SQL Server from SPC-Light with Excel macros

    公司的QA检测软件SPC-Light,需要从其中读取一些信息至SQL Server数据库,储存或是做其它分析. 先是在Excel的VBE的工具中,引入一个组件Microsoft ActiveX Dat ...

  6. SOA架构之限流

    参考: 服务限流 1. 限流的作用 限流主要的作用是保护服务节点或者集群后面的数据节点,防止瞬时流量过大使服务和数据崩溃(如前端缓存大量实效),造成不可用:还可用于平滑请求. 2. 限流算法 限流算法 ...

  7. loj #2023. 「AHOI / HNOI2017」抛硬币

    #2023. 「AHOI / HNOI2017」抛硬币   题目描述 小 A 和小 B 是一对好朋友,他们经常一起愉快的玩耍.最近小 B 沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个 ...

  8. #6432. 「PKUSC2018」真实排名(组合数学)

    题面 传送门 题解 这数据范围--这输出大小--这模数--太有迷惑性了-- 首先对于\(0\)来说,不管怎么选它们的排名都不会变,这个先特判掉 对于一个\(a_i\)来说,如果它不选,那么所有大于等于 ...

  9. 2019年GPLT L2-4 彩虹瓶 比赛题解 中国高校计算机大赛-团体程序设计天梯赛题解

    彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里. 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N).现 ...

  10. 【三支火把】--- 关于UEFI&PCD的总结介绍

    1个人理解 个人理解PCD基本等同于Token,应当算是一种描述性语言,按照规定书写好PCD的配置档,在编译的过程中,会根据你的配置生成同等含义的C文档,而在C文档中对应会出现相应的define或者变 ...