在我的Web應用程序中,我先登錄,然後如果登錄成功,我將用戶重定向到其帳戶頁面。我想在登錄後登錄帳戶頁面時禁用瀏覽器後退按鈕(如下圖所示)。禁用特定頁面的瀏覽器後退按鈕
我不想讓用戶返回到登錄頁面。 我嘗試了所有這些window.history.forward從谷歌的東西,但我想禁用此瀏覽器後退按鈕,請幫助我這一點。我非常困在這裏。
在我的Web應用程序中,我先登錄,然後如果登錄成功,我將用戶重定向到其帳戶頁面。我想在登錄後登錄帳戶頁面時禁用瀏覽器後退按鈕(如下圖所示)。禁用特定頁面的瀏覽器後退按鈕
我不想讓用戶返回到登錄頁面。 我嘗試了所有這些window.history.forward從谷歌的東西,但我想禁用此瀏覽器後退按鈕,請幫助我這一點。我非常困在這裏。
通常是適得其反打瀏覽器的行爲,相反,你應該簡單地重定向客戶端返回到另一個頁面,如果他們訪問帳戶頁面後,他們已經登錄。
如果您正在使用MVC,這很容易通過的AccountController內返回該指數行動的新RedirectAction對象(或任何你正在顯示的帳戶頁面)
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
return RedirectToAction("index", "home");
... do your other code here if they are not authenticated
}
這是否考慮瀏覽器緩存? – gnanz
通常你無法禁用瀏覽器的後退按鈕,但這樣做有一些方法,可以讓你玩這個限制只是這個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)
這是什麼原因?我們假設有一個後退按鈕,那麼是什麼? – zerkms
我不想通過history.forward方法,因爲它爲所有其他pages.is它只能從一個特定的前一頁做到這一點。我的意思是假設我將這個代碼應用於default.aspx,但它只能應用這從一個特定的以前page.not所有 –
@zerkms我不想讓用戶去登錄頁面... –