Проблема в теге No script - PullRequest
       4

Проблема в теге No script

2 голосов
/ 04 сентября 2010

Я не размещаю скрипт-тег на моей главной странице, чтобы, если у пользователя не включен javascript или его браузеры не поддерживают javascript, он перенаправлял на конкретное представление. я использую этот код

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

но проблема в том, что он перенаправляет меня каждый раз, когда я открываю страницу, хотя мой javascript включен. Я использую asp.net mvc2, в чем может быть проблема или есть другой способ сделать это?

Ответы [ 2 ]

3 голосов
/ 04 сентября 2010

Response.Redirect выполняется на стороне сервера, и он отправляет код состояния 302 в браузер, который автоматически перенаправляет.Вы, вероятно, хотите:

<noscript>    
    Please enable javascript to use this site.
</noscript>
1 голос
/ 04 сентября 2010

Тег noscript оценивается в клиенте (браузере).Сервер не знает, есть ли у клиента поддержка скриптов, поэтому каждый раз он перенаправляет.


EDIT

Объясните лучше: сервер просто создает строку (HTML) и отправить его в браузер.Он не анализирует, имеет ли браузер поддержку скриптов.


РЕДАКТИРОВАТЬ 2

Вы можете использовать тег meta refresh .Смотри:

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

Я тестировал в Firefox и работает.

...