2012-04-23 8 views
0
window.onbeforeunload = function (e) { 
    someFunction(); 
} 

ページが更新されるたびに、someFunction()が呼び出されることは明らかです。しかし、インターネットエクスプローラーでは、部分的なページロードがあるときにのみ、someFunction()も呼び出されます。これを防ぐ方法を教えてください。または、非同期呼び出しが行われるたびにトリガーされるjQueryでイベントリスナーを追加するにはどうすればよいですか?非同期呼び出しのwindow.onbeforeunloadがIEでトリガーされますか?

答えて

0

非同期要求のライフサイクル中には、多くのメソッドが呼び出されます。あなたはそれらの任意の数に結びつけることができます。リストについては、http://api.jquery.com/category/ajax/を参照してください。これは、あなたがここで行ったように、異なるブラウザ実装にぶつからないようにします。

$.ajaxSetup({ 
    beforeSend: function() { 
    console.log('New request going out.') 
    } 
}); 

また、あなたはに関数を適用することになる場合には、呼び出しが完了したら、あなたのロジックを実行したいことがあります。私は、各要求の前に実行する関数を設定することができ$.ajaxSetup()を使用して例えば

、これらのメソッドは、カップルの引数は、あなたがspecificallを要求するかを知る必要があり、ロジックを実行している場合に使用するとよいでしょう自分の道を、投げてい

$.ajaxSetup({ 
    complete: function() { 
    console.log('Call completed.'); 
    } 
}); 

$.ajaxSetup()に渡されたオブジェクトのcompleteメンバーyが作られた。たとえば、jQueryによって使用されるXHRオブジェクトと、呼び出しのために返されるステータスが渡されます。

$.ajaxSetup({ 
    complete: function(jqHXR, status) { 
    console.log('Completed: ' + status); 
    } 
}); 
+0

ご回答ありがとうございますが何らかの理由でトリガーされません。ページを部分的にリフレッシュするリンクがコントロールで生成されている可能性がありますか?私は.netについてよく知らない。 –

+0

@SammyDこれらのグローバルコールバックは、jQueryのajaxメソッドを使用して非同期呼び出しを行う場合にのみトリガされます。 jQueryのajaxメソッドを使用して呼び出しを行っていますか、または手動でXHRオブジェクトを構築していますか? – Sampson

+0

彼らはjQueryのajaxメソッドを使用していません。 を使用しています。 –

関連する問題