0

ページの一部が AJAX 経由で読み込まれる Web ページがありますが、JavaScript が有効になっていない場合でも機能するようにしたいと考えていました。

だから、私は次のようにコードを書きました

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

どこ

fetchCitiesAndDisplay ()

コンテンツを取得 (Cities.java のコードを実行) して表示する javaScript メソッドです。

Cities.java

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

JavaScript がオフの場合、すべてがうまく機能します.. ajax 呼び出しは実行されず、Cities.getHtml () のみが 1 回呼び出されるためです。

しかし、JavaScript を有効にすると、Ajax 呼び出しも実行され、Cities.getHtml() も呼び出されます。タグのおかげで表示は正しく見えますが、Cities.java は同じデータに対して 2 回呼び出しを取得し、かなりの時間を食う…

これを解決するには?

4

3 に答える 3

1

仕組みを理解していないのではないかと思います<noscript>。サーバー側のテンプレートでは機能しないため、そこに配置したサーバー側のロジックは、最終的にブラウザーで javascript が有効になっているかどうかにかかわらず、常に実行されます。

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

于 2012-01-10T01:53:33.747 に答える
0

私は@jfriend00に同意する必要があります.1ページを使用してjavascriptが有効になっているかどうかを特定することはできません.

javascript を使用して隠し変数に値を設定できます。ページが送信されたときにそれをチェックして、javascript が有効かどうかを識別できます。ただし、これには 1 つの要求/応答サイクルが必要です。リクエストを目的のページに転送します(上記で説明した隠し変数を使用)。

于 2012-01-10T04:43:08.573 に答える
0

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

于 2012-01-10T05:12:25.767 に答える