[英]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.