2009-03-17 5 views
4

Webページのアンロード機能でURLを呼び出したいが、アンロード機能でgetリクエストが機能していない。私のコードは次のようになっています:ブラウザウィンドウを閉じる前にURLを呼び出す

$(window).unload(function() { 
    jQuery.get("someurl") 
}); 

ユーザアクションのログ記録の一部については、ウィンドウの終了についてお知らせします。どういうわけか可能ですか?

jQuery.get()の後に警告()を追加すると、Get-Requestには十分な時間がありますが、それは私たちが好むものではありません。

答えて

14

使用: -

jQuery.ajax({url:"someurl", async:false}) 
2

あなたは直接onbeforeunloadイベントを使用する必要があります。その場合、ajaxコールを起動できます。これはjQueryが本当に役に立たない1つの場所です(まだ)。カップルのノートは:

がonbeforeunloadイベントからは何も返さないか、ブラウザで表示されますあなたはAJAX呼び出しの同期を行う場合は、ユーザー

にポップアップを「あなたは、あなたがこのページを残したい確信しています」、実行中にページがアンロードされます。非同期にすると、呼び出しが実行されている間はページが変更されます(その呼び出しのjavascriptイベントハンドラを持つことはできません)。 jQueryはイベントハンドラをワイヤリングするので、そのajaxサポートはここではあまり役に立ちません。

+1

onBeforeUnloadイベントは標準ではないため、使用するべきではありません。たとえば、Operaはそれをサポートしていません。 – James

関連する問題