2011-12-21 2 views
2

サーバーからの応答を待っている未処理のjQuery $ .ajaxイベントがある場合、新しいページがロードされるとユーザーがhrefをクリックするなど)。これはFirefox 8以降の新しい動作のようです。Firefoxで新しいページが読み込まれたときに未処理のjquery ajaxイベントをスローする方法

奇妙なことに、現在のページのJavaScriptは、新しいページが読み込まれている間も実行されているようです。だから、エラーが発生したとき、私はそれが特殊なケースであることを検出したいと思います。「Ajax応答待ちの間に新しいページがロードされたために中断します。

問題は、ajaxエラーイベントjqXHRまたはtextStatus、errorThrownによって返されたプロパティのいずれも、「エラー」以外の情報を戻さないことです。

この特定のエラータイプを検出するにはどうすればよいですか?またはFirefoxが新しいページの読み込みを開始したことをどのように検出するのですか?エラーを無視できますか?

答えて

2

あなたはこのためにjQuery unload methodを使用することができます。

$(window).unload(function() { 
    // setIgnoreErrorFlag/cancel outstanding requests etc 
}); 
+0

Firefoxでの操作の順序は、($のアヤックスでエラーをトリガする)すべての未処理のAjaxイベントを中止し、後にのみであることですのような残念ながらそれはそう$(window).unload()イベントがトリガされました。 –

関連する問題