2014-03-29 111 views
0

在我的Web應用程序中,我先登錄,然後如果登錄成功,我將用戶重定向到其帳戶頁面。我想在登錄後登錄帳戶頁面時禁用瀏覽器後退按鈕(如下圖所示)。禁用特定頁面的瀏覽器後退按鈕

disable back button

我不想讓用戶返回到登錄頁面。 我嘗試了所有這些window.history.forward從谷歌的東西,但我想禁用此瀏覽器後退按鈕,請幫助我這一點。我非常困在這裏。

+0

這是什麼原因?我們假設有一個後退按鈕,那麼是什麼? – zerkms

+0

我不想通過history.forward方法,因爲它爲所有其他pages.is它只能從一個特定的前一頁做到這一點。我的意思是假設我將這個代碼應用於default.aspx,但它只能應用這從一個特定的以前page.not所有 –

+0

@zerkms我不想讓用戶去登錄頁面... –

回答

0

通常是適得其反打瀏覽器的行爲,相反,你應該簡單地重定向客戶端返回到另一個頁面,如果他們訪問帳戶頁面後,他們已經登錄。

如果您正在使用MVC,這很容易通過的AccountController內返回該指數行動的新RedirectAction對象(或任何你正在顯示的帳戶頁面)

public ActionResult Index() 
{ 
    if (User.Identity.IsAuthenticated) 
     return RedirectToAction("index", "home"); 

    ... do your other code here if they are not authenticated 
} 
+0

這是否考慮瀏覽器緩存? – gnanz

2

通常你無法禁用瀏覽器的後退按鈕,但這樣做有一些方法,可以讓你玩這個限制只是這個article解釋它。

但是我發現有更好的方法來解決您的問題。您可以使用相同的頁面進行內容和登錄,並使用頁面會話來避免更改後退按鈕功能。你可以做一些這樣的事情:

if(user has valid session) 
    include (account_page) 
else if (login form has been submitted) 
    if (valid user) 
    include (account_page) 
    create new session for this user 
    else 
     include (login_page) 
else 
    include (login_page) 
相關問題