ユーザーがブラウザ ウィンドウを閉じるか、ページを更新したときに、最終的な JavaScript コードを実行する方法はありますか?
onload に似ているが、onclose に似たものを考えていますか? ありがとう。
私は onbeforeunload メソッドが好きではありません。これは常に確認ボックスがポップアップする (ページを離れる/mozilla にとどまる) または (リロードする/クロムでリロードしない) ことになります。コードを静かに実行する方法はありますか?
ユーザーがブラウザ ウィンドウを閉じるか、ページを更新したときに、最終的な JavaScript コードを実行する方法はありますか?
onload に似ているが、onclose に似たものを考えていますか? ありがとう。
私は onbeforeunload メソッドが好きではありません。これは常に確認ボックスがポップアップする (ページを離れる/mozilla にとどまる) または (リロードする/クロムでリロードしない) ことになります。コードを静かに実行する方法はありますか?
との両方がありwindow.onbeforeunload
、window.onunload
ブラウザによって使用方法が異なります。ウィンドウのプロパティを関数に設定するか、.addEventListener
:を使用して、それらを割り当てることができます。
window.onbeforeunload = function(){
// Do something
}
// OR
window.addEventListener("beforeunload", function(e){
// Do something
}, false);
通常、onbeforeunload
ユーザーがページを離れるのを防ぐ必要がある場合に使用されます(たとえば、ユーザーは保存されていないデータで作業しているため、離れる前に保存する必要があります)。私の知る限り、Operaonunload
ではサポートされていませんが、いつでも両方を設定できます。
わかりました、これに対する実用的な解決策を見つけました。それは、beforeunload
イベントを使用してから、ハンドラーを return にすることで構成されていnull
ます。これにより、確認ボックスがポップアップすることなく、目的のコードが実行されます。次のようになります。
window.onbeforeunload = closingCode;
function closingCode(){
// do something...
return null;
}
jQuery のバージョン:
$(window).unload(function(){
// Do Something
});
更新:jQuery 3:
$(window).on("unload", function(e) {
// Do Something
});
ありがとうギャレット
を使用できますwindow.onbeforeunload
。
window.onbeforeunload = confirmExit;
function confirmExit(){
alert("confirm exit is being called");
return false;
}
イベントは と呼ばれるbeforeunload
ので、 に機能を割り当てることができますwindow.onbeforeunload
。