我有一个母版页,我想检查用户是否已禁用其javascript然后重定向到一个简单的error.aspx页面
答案 0 :(得分:5)
在Master Page上添加此代码
<noscript>
<% Response.Redirect(Url.Action("ActionName","ControllerName")); %>
</noscript>
如果用户禁用了javascript,它将重定向到特定的控制器操作。
答案 1 :(得分:4)
解决此问题的常用方法是重定向已启用javascript 的用户,并使用{{1}为使用已禁用的用户显示错误} tag。
noscript
或者,如果您的页面不是用户在当前会话中加载的第一页,您可以添加指向该页面的链接,如
<script type="text/javascript">
location.href = 'pagethatneedsjavascript.aspx';
</script>
<noscript>
This page needs JavaScript enabled!
</noscript>
如果用户已禁用javascript,则会转到<a href="/linktopage.aspx?js=disabled"
onclick="location.href='/linktopage.aspx?js=enabled';return false;">the page</a>
属性中引用的页面,如果已启用,则会执行href
属性中的JavaScript。
然后,您可以在服务器端读取querystring变量并重定向,如果它等于“disabled”
onclick
请注意,如果页面是可收藏的,则用户可能会使用js = enabled而不在实际启用js的情况下结束页面。