2

ユーザーがjavascriptを有効にしていない場合、またはそのブラウザーがjavascriptをサポートしていない場合、特定のビューにリダイレクトするスクリプトタグをマスターページに配置していません。このコードを使用しているim

 <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 に答える