JavaScript の onbeforeunload および onunload イベントについての簡単な説明_基礎知識
最近のプロジェクトでは、ユーザーがページを離れるときにページのコンテンツの一部をキャッシュする必要がありますが、ユーザーが更新するときにのみキャッシュする必要があります。ユーザーが退出する時間
この関数を実行します。 Baidu によると、イベントには onbeforeunload と onunload の 2 つがありますが、onbeforeunload はユーザーが更新したときにも実行されます。かなり時間がかかったので、ここで簡単にまとめたいと思います
onbeforeunload および onunload イベント
onbeforeunload の定義と使用法
onbeforeunload イベントは、現在のページが終了しようとしている (更新または閉じられる) ときにトリガーされます。
このイベントは、ページの閲覧を続けるか現在のページから離れるかをユーザーに尋ねるダイアログ ボックスをポップアップするために使用できます。
ダイアログ ボックスのデフォルトのプロンプト メッセージはブラウザによって異なります。標準のメッセージは「このページを閉じてもよろしいですか?」に似ています。この情報は削除できません。
ただし、一部のメッセージ プロンプトをカスタマイズして、標準情報とともにダイアログ ボックスに表示することができます。
注:
要素で onbeforeunload イベントを指定しない場合は、window オブジェクトにイベントを追加し、returnValue 属性を使用してカスタム情報を作成する必要があります (次の構文例を参照)。注: Firefox ブラウザでは、デフォルトのリマインダー情報のみが表示されます (カスタマイズされた情報は表示されません)。
使用方法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body onbeforeunload="return test()"> </body> <script type="text/javascript"> function test(){ return "你确定要离开吗"; } </script> </html>
または:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> </body> <script type="text/javascript"> window.onbeforeunload=function(){ return "你确定要离开吗"; } </script> </html>
イベントがトリガーされると、確認とキャンセルを示すダイアログ ボックスが表示されます。確認するとページを離れ、キャンセルするとこのページに留まり続けます。もちろん、プロンプトのテキストをカスタマイズすることもできます。
では、この関数を終了時にのみ実行する必要があり、更新時には実行する必要がない場合はどうすればよいでしょうか?
window.onbeforeunload = function() { var n = window.event.screenX - window.screenLeft; var b = n > document.documentElement.scrollWidth - 20; if (!(b && window.event.clientY < 0 || window.event.altKey)) { //window.event.returnValue = "真的要刷新页面么?"; //这里放置我想执行缓存的代码 cacheFunction(); } }
この方法では、ページを離れるときにプロンプト ボックスを表示せずにキャッシュ コードを実行できます。更新してもプロンプト ボックスは表示されず、実行されません。現時点では、ajax を同期に設定する必要があることに注意してください。つまり、ajax の async を false に変更する必要があります。
ブラウザの互換性
IE、Chrome、Safari を完全にサポート
Firefox はテキスト リマインダー メッセージをサポートしていません
Opera は をサポートしていません
onbeforeunload の使用時に IE6 および IE7 で発生するバグ
2. Onunload の定義と使用法
onunload イベントは、ユーザーがページを終了すると発生します。使用法は onbeforeunload と同様です
window.onunload = function(){ return "你确定要离开吗" }
ブラウザの互換性
IE6、IE7、IE8 では、ページを更新し、ブラウザを閉じ、ページにジャンプした後に実行されます。 IE9 はページの更新を実行しますが、ページのジャンプとブラウザの終了は実行されません。
firefox (firefox3.6 を含む) は、タグを閉じた後、ページジャンプ後、ページを更新した後に実行できますが、 を閉じた後は実行できません。
Safari はページの更新とページジャンプ後に実行されますが、ブラウザを閉じると実行されません。
Opera と Chrome はいかなる状況でも実行されません。
概要
onunload と onbeforeunload は、
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

エントリーレベルのタイプスクリプトチュートリアルをマスターしたら、TypeScriptをサポートするIDEで独自のコードを作成し、JavaScriptにコンパイルできるはずです。このチュートリアルは、TypeScriptのさまざまなデータ型に飛び込みます。 JavaScriptには、NULL、未定義、ブール値、数字、文字列、シンボル(ES6によって導入)とオブジェクトの7つのデータ型があります。 TypeScriptはこれに基づいてより多くのタイプを定義し、このチュートリアルではすべてを詳細に説明します。 ヌルデータ型 JavaScriptのように、Typescriptのnull
