ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザウィンドウを閉じるか更新するときに JavaScript コードを実行するにはどうすればよいですか?

ブラウザウィンドウを閉じるか更新するときに JavaScript コードを実行するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-22 02:04:14586ブラウズ

How do I Execute JavaScript Code When a Browser Window Closes or Refreshes?

ウィンドウを閉じるかページを更新するときに JavaScript コードを実行する

ユーザーがブラウザ ウィンドウを閉じるかページを更新するときに、JavaScript コードを実行することが望ましいことがよくあります。最後のコード。 onload イベントと似ていますが、閉じるかリフレッシュする場合は、onbeforeunload と onunload という 2 つの主なオプションがあります。

window.onbeforeunload と window.onunload

これら 2 つのイベントハンドラーを使用すると、ウィンドウを閉じるときまたは更新するときにコードを実行できます。主な違いは、onbeforeunload はブラウザーがユーザーに確認ダイアログ (「ページを離れますか?」や「リロードしますか?」など) を表示する前に起動するのに対し、onunload はユーザーがアクションを確認した後に起動することです。

使用法:

ウィンドウのプロパティを直接設定するか、addEventListener を使用して、これらのイベント ハンドラーに関数を割り当てることができます。

直接代入:

window.onbeforeunload = function() {
  // Do something
};
window.onunload = function() {
  // Do something
};

addEventListener メソッド:

window.addEventListener('beforeunload', function(e) {
  // Do something
});
window.addEventListener('unload', function(e) {
  // Do something
});

に関する注意事項onbeforeunload:

通常、onbeforeunload はユーザーがページから離れることを防ぐために使用されます (未保存のデータがある場合など)。ただし、文字列を返さないか、event.returnValue.

追加の考慮事項:

  • Iframe の削除: iframe がその親によって削除された場合、beforeunload イベントは機能しませんが、最新のバージョンでは、unload イベントと pagehide イベントは機能します。ブラウザ。
  • Firefox のバグ: 2023 年 8 月の時点で、Firefox には iframe の削除に対してアンロードおよびページ非表示イベントが機能しないというバグがあります。

以上がブラウザウィンドウを閉じるか更新するときに JavaScript コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。