2

我在我的母版页上没有放置脚本标记,如果用户没有启用 javascript 或其浏览器不支持 javascript,它会重定向到特定视图。我正在使用此代码

 <noscript>    
  <% Response.Redirect("../UserLogin/Error");  %>
 </noscript>

但问题是每次我打开页面时它都会重定向我,尽管我的 javascript 已启用。我使用 asp.net mvc2 可能是什么问题,或者有没有其他方法可以做到这一点?

4

2 回答 2

3

Response.Redirect在服务器端执行,它会向浏览器发送一个 302 状态码,浏览器会自动重定向。你可能想要:

<noscript>    
    Please enable javascript to use this site.
</noscript>
于 2010-09-04T11:25:44.640 回答
1

标签noscript在客户端(浏览器)中进行评估。服务器不知道客户端是否支持脚本,所以每次都会重定向。


编辑

更好地解释:服务器只是创建一个字符串(HTML)并将其发送到浏览器。它不会解析浏览器是否支持脚本。


编辑 2

您可以使用元刷新标签。看:

<head>
    <noscript>
    <meta http-equiv="refresh" content="0;url=http://example.com/" />
    <!-- Redirect to http://example.com/ immediately -->
    </noscript>
</head>

我在firefox中测试过并且可以工作。

于 2010-09-04T11:28:56.100 回答