ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript Web ページの終了イベントについて話しましょう

JavaScript Web ページの終了イベントについて話しましょう

PHPz
PHPzオリジナル
2023-04-24 09:10:072788ブラウズ

JavaScript ウェブページ終了イベント

世界的なインターネットの普及に伴い、ウェブページ アプリケーションの人気もますます高まっており、ユーザー エクスペリエンスを向上させるためには、ウェブページ インタラクション テクノロジを習得する必要があります。その中でも、Web ページを閉じるイベントは非常に重要なイベントであり、データの送信やユーザー情報の保存など、Web ページを閉じる前に特定の操作を実行するのに役立ちます。

この記事では、JavaScript での Web ページ終了イベントを紹介し、読者がこのイベントをよりよく学び理解するのに役立ついくつかの実践的な例とテクニックを提供します。

  1. Web ページ終了イベントの意味

Web ページ終了イベントとは、ユーザーが現在の Web ページを閉じると、ブラウザによってイベントがトリガーされることを意味します。 JavaScript 操作を通じて特定のアクションを実行できます。これらの操作には、データの送信、キャッシュのクリア、Cookie の削除などが含まれます。

従来の Web アプリケーションでは、Web ページは情報を表示するためにのみ使用され、ユーザーの操作に応答する必要がないため、Web ページを閉じるイベントは重要なイベントではありません。しかし、最新の Web アプリケーションでは、Web ページを通じてユーザーと対話し、ユーザー データをタイムリーに保存する必要があるため、Web ページを閉じるイベントは非常に重要です。

  1. Web ページ終了イベントの使用方法

JavaScript では、window オブジェクトの beforeunload イベントを使用して、Web ページ終了イベントに応答できます。このイベントは、ブラウザがドキュメントをアンロードする直前に発生します。 beforeunload イベントでは、クリーンアップ操作やデータの保存などを実行できます。

以下は beforeunload イベントの基本的な使用法です:

window.addEventListener('beforeunload', function(event) {
   event.preventDefault(); // 阻止默认行为
   event.returnValue = ''; // 设置returnValue,可以提示用户是否离开
});

上記のコードでは、addEventListener() メソッドを通じて beforeunload イベントをウィンドウ オブジェクトに追加します。イベント ハンドラーでは、いくつかのクリーンアップ操作を実行し、ブラウザーのデフォルトのアンインストール動作を防止できます。

場合によっては、フォームに入力された情報など、閉じるイベントでユーザーが入力したデータを取得する必要があります。現時点では、onbeforeunload イベントを使用できます。

window.onbeforeunload = function(event) {
   var message = '您输入的内容尚未保存,确定要退出吗?';
   event.returnValue = message; // 设置提示消息
   return message; // 返回提示消息,可以在一些浏览器中生效
};

上記のコードでは、event.returnValue 属性を設定してプロンプト メッセージを設定し、同じプロンプト メッセージを返して、それが確実に有効になるようにしています。一部のブラウザ。

  1. 実践的なケース

以下は、Web ページ終了イベントを使用してユーザー エクスペリエンスを向上させる方法を示すいくつかの実践的なケースです:

1) フォームを保存データ

ユーザーがフォームに情報を入力した場合、保存しないと情報が失われます。 Webページを閉じたときにフォームデータを自動的に保存できます。例:

window.addEventListener('beforeunload', function() {
   var inputBox = document.getElementById('input-box');
   localStorage.setItem('user-input', inputBox.value);
});

上記のコードでは、localStorage を使用してフォーム データを保存します。 beforeunload イベントでは、入力ボックスの値を取得し、ローカル ストレージに保存します。

2) フォーム データの送信

特定のシナリオでは、Web ページを閉じるときにサーバーにデータを送信する必要がある場合があります。たとえば、ユーザーがフォームに情報を入力した後、Web ページを閉じるとデータは失われるため、Web ページが閉じる前にデータを送信できます。例:

window.addEventListener('beforeunload', function() {
   var formObj = document.getElementById('my-form');
   formObj.submit();
});

上記のコードでは、フォーム オブジェクトの submit() メソッドを呼び出してフォーム データを送信します。ブラウザは、Web ページを閉じる前にこのデータをサーバーに自動的に送信します。

3) キャッシュ データをクリアする

Web ページに大量の写真やビデオが含まれている場合、ブラウザのキャッシュが多くのディスク領域を占有する可能性があります。ディスク容量の使用量を減らすために、Web ページを閉じるときにキャッシュ データをクリアできます。例:

window.addEventListener('beforeunload', function() {
   window.localStorage.clear();
   window.sessionStorage.clear();
   window.indexedDB.deleteDatabase('my-database');
});

上記のコードでは、localStorage と sessionStorage を使用して Web ページのキャッシュ データを保存します。 beforeunload イベントでは、clear() メソッドを使用してこのデータをクリアします。さらに、indexedDB.deleteDatabase() メソッドを使用してインデックス データベースを削除します。

4) ユーザーが終了したかどうかを検出する

ユーザーが Web の閲覧中に残念ながらブラウザを閉じてしまうと、一部のデータが失われる可能性があります。これを回避するために、ページを閉じたときにユーザーが本当に終了したいかどうかを検出できます。例:

window.addEventListener('beforeunload', function(event) {
   var message = '您输入的内容尚未保存,确定要退出吗?';
   event.returnValue = message;
   return message;
});

window.addEventListener('unload', function() {
   alert('您已经成功退出本网站!');
});

上記のコードでは、beforeunload イベントでプロンプト メッセージを設定し、アンロード イベントで正常に終了したことをユーザーに確認します。同時に、同じプロンプト メッセージを返し、一部のブラウザで有効であることを確認します。

  1. 概要

Web ページを閉じるイベントは、Web ページを閉じる前に特定の操作を実行するのに役立つ非常に重要なイベントです。 JavaScript では、window オブジェクトの beforeunload イベントと onbeforeunload イベントを使用して、Web ページを閉じるイベントに応答できます。 Web ページ終了イベントの使用をマスターすることで、よりスムーズな Web ページ操作エクスペリエンスをユーザーに提供できます。

この記事で紹介したユースケース以外にも、Web ページ終了イベントを使用できるアプリケーション シナリオは多数あり、読者はニーズに応じて柔軟に適用できます。

以上がJavaScript Web ページの終了イベントについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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