ユーザーがブラウザウィンドウを閉じたりページを更新したりするときに、最終的な JavaScript コードを実行する方法はありますか?
onload に似ていますが、onclose のようなものを考えています。ありがとうございます。
onbeforeunload メソッドは好きではありません。このメソッドでは、常に確認ボックス (ページを離れる/Mozilla に留まる) または (Chrome で再読み込みする/再読み込みしない) がポップアップ表示されます。コードを静かに実行する方法はありますか?
ベストアンサー1
window.onbeforeunload
との両方がありwindow.onunload
、ブラウザによって使用方法が異なります。ウィンドウのプロパティを関数に設定するか、 を使用することで、これらを割り当てることができます.addEventListener
。
window.onbeforeunload = function(){
// Do something
}
// OR
window.addEventListener("beforeunload", function(e){
// Do something
});
通常、onbeforeunload
は、ユーザーがページを離れないようにする必要がある場合に使用されます (例: ユーザーが保存されていないデータで作業しているため、離れる前に保存する必要があります)。ただし、return
文字列または設定を使用しない場合はevent.returnValue
、メッセージを表示せずにコードが実行されます。
注意: beforeunload
iframeが削除されました親によって ( などiframeElement.remove()
) 削除される可能性がありますが、 Chrome では、unload
およびpagehide
イベントはこの場合に機能します。 ただし、2023 年 8 月現在、Firefox には、iframe の削除の場合にこれらのイベントが機能しないバグがあります。つまり、Firefox のようにイベントを使用して親によって iframe が削除される直前にコードを実行することは現在できませんunload
。