2

フォームが送信されると、読み込みアニメーションを表示し、ボタンを無効にします。残念ながら、戻るボタンをクリックすると、Firefox は読み込み中の画像を表示し、ボタンは無効のままです。これは Chrome では発生しません。何か案は?

$(document).ready(function() {
    $('#go').removeAttr('disabled');
    $('#loading').replaceWith('<img id="loading" src="/static/images/loading.gif" style="display:none; vertical-align:middle" />');

    $('#go').click(function(e) {
        e.preventDefault();
        $('#go').attr('disabled', 'disabled');
        $('#loading').show();
        $('#go_form').submit();
    });
});
4

2 に答える 2

5

Firefox は、ブラウザー セッション内で、JavaScript の状態を含む Web ページ全体に対してメモリ内キャッシュを使用します。訪問したページ間を前後に移動する場合、ページをロードする必要はありません。この機能により、ページ ナビゲーションが非常に高速になります。

これを検出するには、pageshowイベントを使用します。イベントにはpersisted、キャッシュをナビゲートしている場合に true となるプロパティが含まれます。この状態が表示された場合は、ページの状態をリセットできます。

于 2012-05-26T22:59:19.140 に答える
0

これはおそらく、Chrome と Firefox のキャッシュ メカニズムが異なるためです。onunload簡単な修正は、イベントで読み込み中の画像を非表示にすることです。

于 2012-05-26T22:51:32.250 に答える