zoukankan      html  css  js  c++  java
  • 用javascript实现禁止页面后退返回上一页的代码

    用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); 而且不用担心回退之后程序重新跑一遍原来的代码,自动在数据库插入一条数据,因为我是点击【领取礼包】这个链接进入后台控制器的,当我由第二页点击后退按钮返回上一页时,并没有点击【领取礼包】这个动作,因此程序不会再次执行控制器中的代码,而是直接跳回第二页。



  • 相关阅读:
    在vue项目中stylus的安装及使用
    如何在vue中全局引入stylus文件的公共变量
    d3.js在vue项目中的安装及案例
    cytoscape.js在vue项目中的安装及案例
    vue路由router的三种传参方式
    vue项目警告There are multiple modules with names that only differ in casing
    vue+iview实现一行平均五列布局
    JVM 内存对象管理
    JVM 垃圾回收机制
    面试随笔-01
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061195.html
Copyright © 2011-2022 走看看