用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. AOP切点相关

    1.切点定义 切点定义包含两个部分 一个切入点表达式 一个包含名字和任意参数的方法签名 package com.sysker.aspect; import org.aspectj.lang.annot ...

  2. [翻译]CURAND Libaray--Host API--(2)

    Translated by xingoo 如果有错误请联系:xinghl90@gmail.com 2.3 返回值 所有的CURAND host端的函数返回值都是curandStatus_t.如果调用没 ...

  3. jQuery的ajax实现文件上传大小限制

    用jquery的ajax实现简单的文件上传功能,并且限制文件大小,先上代码. <!DOCTYPE html> <html> <head> <meta char ...

  4. HDU6301 Distinct Values (多校第一场1004) (贪心)

    Distinct Values Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  5. Windows Server上用命令来起停IIS站点

    平时,在Server上管理IIS,都是在界面上进行一些配置,然后再做一些start和stop操作... 对于配置的人来说,会做一些重复步骤,所以适当的使用命令,能大大提高效率. 下面命令是自己之前使用 ...

  6. 树莓派使用 PPA 安装 Java 8

    前言 在树莓派上安装 Java 8,与这篇的操作类似,不过树莓派不支持用 add-apt-repository 自动添加 webupd8team 的源,所以要手动添加. 步骤 在 /etc/apt/s ...

  7. 2-32 while

    do while

  8. Vscode 隐藏 工作区中的目录

    { "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg&qu ...

  9. Luogu P2073 送花 set

    这题...一眼set...但是打了一会儿.. 记录一下每个价格对应的美丽度,顺便充当vis数组,如果美丽度不为0,说明set里已经有了... 删除好说,删*s.begin()和*--s.end()就好 ...

  10. 2016 Multi-University Training Contest 10 || hdu 5860 Death Sequence(递推+单线约瑟夫问题)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 题目大意:给你n个人排成一列编号,每次杀第一个人第i×k+1个人一直杀到没的杀.然后 ...