2011-05-10 116 views
2

我想使用JavaScript禁用瀏覽器中的後退按鈕。任何人都可以幫助我如何做到這一點?如何使用JavaScript禁用瀏覽器的後退按鈕

+11

你不行。如果你認爲你需要,那麼你正試圖解決錯誤的問題。 – Quentin 2011-05-10 08:32:38

+10

這個問題的標題也可能是「如何讓我的訪客真的很生氣」:-) – 2011-05-10 08:37:14

+2

你想到達一個網站,你注意到你不能使用後退按鈕回去?想想看吧... – 2011-05-10 08:38:56

回答

5

請在這裏閱讀several options to disable the back button

但是:這個問題讓我覺得你想解決錯誤的問題。

後退按鈕是用戶期望的工作。如果你禁用它,你會打破瀏覽器(從用戶的角度來看):在其他地方工作的東西在你的頁面上不起作用。用戶會討厭你的網頁,並儘量避免它。如果他們無法避開該頁面,他們會更加討厭它。

那麼,什麼是你的選擇:

  1. 你可以得到的事件當用戶使用該按鈕。例如,GWT將應用程序的內部狀態保存在虛擬歷史事件中。所以用戶可以在真實應用程序中使用撤消按鈕。

  2. 避免爲您的頁面創建歷史事件。確保標題欄中的URL永遠不會更改。將所有更改保存在服務器上。對於用戶來說,頁面/應用程序會感覺像一個頁面。當他下一次返回時,從服務器上的數據庫恢復最後一個狀態。

    這樣,用戶可以使用後退按鈕離開您的頁面,因爲他已經習慣了,但他仍然不會失去任何工作。

  3. 兩者的混合。例如,堆棧溢出允許您使用鏈接和後退按鈕在頁面之間移動。如果您開始在頁面上編輯某些內容,則當您點擊後退按鈕時會收到警告。

1
function noBack() { 
    window.history.forward(); 
} 
+5

哦,看。我的後退按鈕旁邊有一個箭頭,可以讓我跳過兩頁。 – Quentin 2011-05-10 08:49:45

0

只需使用JavaScript這樣

<script type="text/javascript" language="Javascript">window.open('yourpage.html');</script> 

一套該代碼在新標籤中打開網頁到以前的頁面,這將在新標籤中打開網頁,並不會有任何後退按鈕可用。

+1

我認爲OP想要爲整個網站禁用它們。您的解決方案不適用於後續頁面加載。 – 2013-01-14 22:47:57

0
Simple logic: move forward when click back button 
---------------------------------------------------- 

function preventBack() { 
    window.history.forward(); 
} 
window.onunload = function() { 
    null; 
}; 
setTimeout("preventBack()", 0); 


Keep this js code in your page it works. 
相關問題