0

JSP、JavaScript、jQuery、および css を使用してかなり複雑なページを作成しています。Chrome、Firefox、IE10 で正常に動作します。ただし、IE8 では機能しません。特定のページに固有の JavaScript が読み込まれず、HTML が壊れており、一部の CSS が読み込まれますが、すべてではありません。

AJAX 呼び出しで呼び出されるページ:

jQuery.ajax({
            url : url,
            dataType: "html",
            cache : false,
            beforeSend : ...

開発者ツールでネットワーク アクティビティをキャプチャすると、関連するスクリプト ファイルが到着し始めていることがわかりますが、155B ~ 157B しか受信されていません。リザルト コードは 304 で、時間は 1ms 未満と表示されます。Chrome の同じレポートでは、同じ JS ファイルのサイズが 3 ~ 7 ~ 12 KB で、到着までに 3 ~ 10 ミリ秒かかり、HTTP コードは 200 であることが示されています。

通常の GET リクエストを介してリクエストされた同じページが正常に読み込まれます。この問題はIE8の既知のアグレッシブ キャッシングの問題のように見えますが、どういうわけか設定cache : falseしても 304 の発生を防ぐことはできません。

どうすればこれを機能させることができますか?

Win7 で jQuery バージョン 1.4.2、IE8 を使用。tc 開発者サーバー 2.8.2。

4

1 に答える 1

0

AJAX 呼び出しを介して取得される JavaScript ファイルの 1 つには、他のコードの中でも特に次のメソッドが含まれていました。

    jQuery(document).ready(function() {
    return validate...();
}

IE8 はそれを処理できず、周囲のすべての JavaScript を破棄しました。

上記の行を削除し、その AJAX 呼び出しの Complete: で呼び出された関数に検証メソッドを移動すると、すべてが機能し始めました。

于 2013-12-12T21:55:12.420 に答える