有時候我們需要用戶在點擊了如下一步的按鈕時,頁面跳轉到了下一個頁面,這時想不允許用戶返回后退到上一頁,可以采用下面的方法:
在需要跳轉的頁面(上一個頁面),添加如下代碼:
<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); 而且不用擔心回退之后程序重新跑一遍原來的代碼,自動在數據庫插入一條數據,因為我是點擊【領取禮包】這個鏈接進入后台控制器的,當我由第二頁點擊后退按鈕返回上一頁時,並沒有點擊【領取禮包】這個動作,因此程序不會再次執行控制器中的代碼,而是直接跳回第二頁。
