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