ユーザーが別のページに移動した場合に中止したい (潜在的に) 長時間実行される ajax 呼び出しがいくつかあります。次の jQuery コード呼び出しは、ページから離れたときに、保留中のすべての XMLHttpRequest オブジェクトを中止します。
$.ajaxSetup({
beforeSend: function(xhr) {
$(window).bind('beforeunload', function() {
xhr.abort();
});
}
});
テスト ケースでは、呼び出されるサーバー側の操作を 10 秒間待機させます。Firebug を使用して、ページ上のリンクをクリックすると、上記のコードによって保留中のすべての ajax 呼び出しがすぐに停止することを確認しました。ただし、ブラウザは次のページに移動する前に 10 秒間待機します。IE も同じ動作を示すようです。これはブラウザの既知の動作ですか? この状況で、ユーザーがページからすぐに移動できるようにできることはありますか? 前もって感謝します。