用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. jquery('tr','div')和jquery('tr,div')

     jQuery('tr', 'div') 等价于 $('tr', 'div')    表示div里面寻找tr    jQuery('tr, div') <=> $('tr, div') 表 ...

  2. web 后台打印

    //提交打印 function sbumitPrint() { printHidden("AppsDSPrintDoub.aspx?type=print"); } function ...

  3. Java泛型读书笔记 (三)

    泛型对于老代码的支持 Java的泛型设计成类型擦除的目的,很大一部分是为了兼容老老代码.如下的一段代码: void setLabelTable(Dictionary table) table的类型是非 ...

  4. 混合APP开发-hybrid 升级流程

    本文来自网易云社区 作者:王贝 目前大多数APP已经应用hybrid进混合开发,这不,我们的gacha APP这个版本已经开始使用hybrid来开发了,hybrid的优势这里就不多说了,这里主要讲一下 ...

  5. Django之博客系统:增加评论

    3既然是博客,那肯定就有留言评论系统.在这一章就来建立一个评论系统. 1 创建一个模型来保存评论 2 创建一个表单来提交评论并且验证输入的数据 3 添加一个视图函数来处理表单和保存新的评论到数据库 4 ...

  6. mongoDB(1) -- 安装及开始

    安装完成后在/bin文件夹下打开命令窗口 输入.\mongo启动数据库,若正常启动说明安装成功: 为了启动mongodb方便,将mongod.exe路径加入环境变量,电脑->属性->高级系 ...

  7. FFT字符串匹配

    本文半原创 参考资料:其实就是照抄的什么参考啊 我们知道KMP可以用来在线性复杂度内进行制胡窜匹配 今天教您一种新方法:用FFT进行字符串匹配 您可能觉得这很玄学,FFT不是做多项式卷积的吗,怎么还可 ...

  8. s5pv210移植Minigui3.0.12

    移植平台:ubuntu:14.04 开发板:s5pv210(A8) Minigui版本:3.0.12-------------------------------------------------- ...

  9. Jenkins+Git+Maven+Nexus+Tomcat

    https://www.jianshu.com/p/d24e64559440 https://blog.csdn.net/u013322876/article/details/72637854 htt ...

  10. react 的安装和案列Todolist

    react 的安装和案列Todolist 1.react的安装和环境的配置 首先检查有没有安装node.js和npm node -v npm -v 查看相关版本 2.安装脚手架工具 2.构建:crea ...