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

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