ホームページ >ウェブフロントエンド >jsチュートリアル >「ページを離れる」を実装するにはどうすればよいですか?従来のブラウザでは確認プロンプトが表示されますか?
はじめに
Web ページでテキスト編集やその他の変更を行ってページから移動しようとすると、ブラウザは確認を表示することがあります。ユーザーにナビゲーションの確認を求めるプロンプト。この機能は、ユーザーが未保存の変更を誤って失うのを防ぐのに役立ちます。
プロンプトを有効にする
レガシー ブラウザ (IE6 ~ 8、Firefox 以前) でこのナビゲーション確認プロンプトを有効にするにはバージョン 4) では、window.onbeforeunload プロパティに関数を割り当てます。参照:
window.onbeforeunload = function(e) { // For IE6-8 and Firefox prior to version 4 if (e) { e.returnValue = "Are you sure you want to leave?"; } // For Chrome, Safari, IE8+ and Opera 12+ return "Are you sure you want to leave?"; };
プロンプトの無効化
ナビゲーション確認プロンプトを無効にするには、window.onbeforeunload:
window.onbeforeunload = null;
未保存を確認しています変更
ページに未保存の変更があるかどうかに関係なく、ユーザーの確認がトリガーされます。未保存の変更を確認するには、好みの検証フレームワークまたはカスタム ソリューションを利用できます。たとえば、jQuery を使用すると、変更イベントをフォーム フィールドにバインドして、フィールドに非保存の値が含まれる場合に window.onbeforeunload を設定できます。 -空の値:$('input').change(function() { if($(this).val() != "") { window.onbeforeunload = "Are you sure you want to leave?"; } });
注:
現代ではブラウザーでカスタム ナビゲーション確認メッセージを表示することはセキュリティ上の危険があると考えられ、削除されました。ブラウザは一般的なメッセージのみを表示するようになりました。最新のブラウザでナビゲーション プロンプトを有効または無効にするには、戻り値のない関数参照に window.onbeforeunload を設定または削除するだけです。以上が「ページを離れる」を実装するにはどうすればよいですか?従来のブラウザでは確認プロンプトが表示されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。