簡體   English   中英

如果在 ASP.NET mvc 母版頁中禁用 JavaScript,如何重定向

[英]How to redirect if JavaScript is disabled in ASP.NET mvc masterpage

我有一個error.aspx頁,我想檢查用戶是否禁用了它的 JavaScript,然后重定向到一個簡單的error.aspx頁面

在 Masterpage 上只需添加此代碼

<noscript>
<% Response.Redirect(Url.Action("ActionName","ControllerName")); %>
</noscript>

如果用戶禁用了 javascript,它將重定向到特定的控制器操作。

解決此問題的常用方法是重定向啟用了javascript 的用戶,並使用noscript標記為禁用它的用戶顯示錯誤。

 <script type="text/javascript">
     location.href = 'pagethatneedsjavascript.aspx';
 </script>
 <noscript>
     This page needs JavaScript enabled!
 </noscript>

或者,如果您的頁面不是用戶在當前會話中加載的第一頁,您可以添加指向該頁面的鏈接,例如

<a href="/linktopage.aspx?js=disabled"
onclick="location.href='/linktopage.aspx?js=enabled';return false;">the page</a>

如果用戶禁用了 javascript,他們將轉到href屬性中引用的頁面,如果啟用了它,則將執行onclick屬性中的 JavaScript。

然后,您可以在服務器端讀取查詢字符串變量並在它等於“禁用”時重定向

if ( Request.QueryString["js"] == "disabled" ) {
    Response.Redirect("error.aspx");
}

請注意,如果該頁面可添加書簽,則用戶可能最終使用 js=enabled 進入該頁面,而實際上並未啟用 js。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM