2012-01-10 14 views
0

ページの一部がAJAX でロードされているWebページがありますが、JavaScriptが有効になっていない場合は動作させたいと思っていました。JSPでJavaScriptが有効/無効になっているかどうかを調べる

ので、私は

<script> 
    fetchCitiesAndDisplay(); 
</script> 
<noscript> 
    <% 
     out.print(Cities.getHtml()); 
    %> 
</noscript> 

fetchCitiesAndDisplay()

ようなコードを書いたコンテンツを取得するJavaScriptメソッドは、(都市内のコードを実行します.java)を開き、それを表示します。 Cities.java

データベースから都市を収集し、表示するHTMLコンテンツを生成するJavaクラスです。

JavaScriptがオフの場合、ajax呼び出しは実行されず、Cities.getHtml()のみが一度呼び出されるため、すべて正常に動作します。

JavaScriptを有効にすると、Ajax呼び出しも実行され、Cities.getHtml()も呼び出されます。タグでも表示が正しく表示されますが、Cities.javaは同じデータ、それは多くの時間を食べる...

これを解決するには?

+0

http://stackoverflow.com/questions/121203/how-to-detect-if-javascript-is-disabled - これが役立つかどうかを確認してください。 –

+0

srikanth、それは私の問題を解決しません... – amithgc

答えて

1

<noscript>がどのように機能するのか分かりませんか?サーバー側のテンプレートでは動作しません。そのため、そこに配置されたサーバー側のロジックは、最終的にjavascriptが有効かどうかをブラウザで実行します。

したがって、<noscript>内のHTMLは、JavaScriptがオンかオフかに関わらず、常に生成されるため、これは私にとって非常に意味のあることではありません。それは常にページに表示されます。だから、もしそれが常にページにあれば、なぜJavaScriptがオンのときにajax経由でそれを取得するのですか?

+0

私の主な目的は、AJAXを介してWebページをより速くレンダリングするために取得します...しかし、JSが無効になっている場合は、呼び出すout.print(Cities.getHtml()); – amithgc

+0

あなたが持っているものはそれをしていません。 Cities.getHTML()でサーバーサイドコードを呼び出すことは常にあります。 javascriptが1のときは、生成されたページをview/sourceで見ると、 '

+0

0

私は、@ jfriend00、に同意する必要があり、そのことの可能なJavascriptを使用すると、ページは、あなたがそれを確認することができ提出するいくつかの値、と隠れ変数を設定するには、JavaScriptを使用することができます1ページ

を使用して有効になっている場合に識別するために、 javascriptが有効かどうかを確認しますが、これには1リクエスト/レスポンスサイクルが必要です。リクエストを意図したページに転送する暫定ページを持つことができます。

0

なぜあなたのJavaScriptコードは、ページの読み込み時に小さなhtml/image/etcスニペットを読み込まないようにしてください。 javascriptが有効になっている場合、そのファイルが要求されたことがわかります。無効になっている場合、そのファイルに対する要求はありません。

関連する問題