JavaScriptを使用してウェブページをナビゲートしないようにするにはどうすればよいですか?JavaScriptを使用してウェブページをナビゲートしないようにする
答えて
あなただけがメッセージを表示することができますが、(それは遅すぎるので)それは、ナビゲーションを中断しません。ただし、onbeforeunload
を使用することができ、それがナビゲーション中断します:
window.onbeforeunload = function() {
return "Are you sure you want to navigate away?";
}
編集を:これは期待通りに確認ウィンドウを引き起こしたが、また、最初の確認の結果と第二確認を示したとしてreturn文でconfirm()
を削除。
ブラウザに適切なプロンプトが表示されます。単に 'window.onbeforeunload = function(){return" "; } ' –
しかしそれでは不十分です。フォーム内のコントロールはどうですか?彼らもこれを引き起こします。 – Fandango68
onunloadを使用してください。
はjQueryのために、私はこれがそうのように働くと思う:
$(window).unload(function() {
alert("Unloading");
return falseIfYouWantToButBeCareful();
});
ありがとうございます... –
falseを返すと残念なことにアンロードはキャンセルされません - 直前に実行される(beforeandload)とは異なり、ユーザーがページを離れるときに 'unload'イベントが発生します – Jimbo
@ altCognito:あなたは私に良いアイデアを与えましたfalseIfYouWantToButBeCareful() IEまたはFFで与えられるデフォルトのポップアップを避けることができます。 しかし、クロムについては機能しません。それを見る。 – user367134
アイマンの例では、あなたが閉じてから、ブラウザのウィンドウ/タブを防ぐfalseを返すことによって。 onunload
を使用して
window.onunload = function() {
alert('You are trying to leave.');
return false;
}
ありがとうございます... –
ブラウザがOperaでない限り、タブ/ウィンドウ/プログラムが閉じられているときにonunloadイベントをスキップします。 – Powerlord
このエラーメッセージは、ブラウザに既に表示されているエラーメッセージと重複している可能性があります。クロムでは、2つの同様のエラーメッセージが同じウィンドウに次々に表示されます。
クロムでは、カスタムメッセージの後に表示されるテキストは「このページを終了しますか?」です。 Firefoxでは、私たちのカスタムエラーメッセージは表示されません(ただしダイアログは表示されます)。
より適切なエラーメッセージは次のようになります。
window.onbeforeunload = function() {
return "If you leave this page, you will lose any unsaved changes.";
}
またはstackoverflowのスタイル:「あなたは記事を書いたり編集を開始しました。」
ここに示す他の方法とは異なり、このコードはではありません。は、ブラウザに警告メッセージを表示して、ユーザーに退室したいかどうかを尋ねます。代わりに、ブラウザがメモリからそれをアンロードする機会を得る前に、DOMのイベントの性質を利用して現在のページにリダイレクトします(したがってナビゲーションをキャンセルします)。
ナビゲーションを直接短絡することで機能するため、ページを閉じられないようにすることはできません。ただし、フレームバストを無効にするために使用できます。
(function() {
var location = window.document.location;
var preventNavigation = function() {
var originalHashValue = location.hash;
window.setTimeout(function() {
location.hash = 'preventNavigation' + ~~ (9999 * Math.random());
location.hash = originalHashValue;
}, 0);
};
window.addEventListener('beforeunload', preventNavigation, false);
window.addEventListener('unload', preventNavigation, false);
})();
免責事項:あなたがこれを行うべきではありません。ページにフレームバスターコードがある場合は、著者の希望を尊重してください。
ユーザーが閉じるブラウザを希望する場合はどのようにモーダルを表示しますか(閉じるをクリックしますか?)それは本当ですか? –
私はこのわずかに異なるバージョンになってしまった:フォームが汚れますときに私はtrueにダーティフラグを設定(または私はそう離れてナビゲートしないようにしたい)他の場所で
var dirty = false;
window.onbeforeunload = function() {
return dirty ? "If you leave this page you will lose your unsaved changes." : null;
}
。これにより、ユーザーがConfirm Navigationプロンプトを表示するかどうかを簡単に制御できます。
IEでは、dirtyがfalseの場合、文字列 'null'が表示されます。 if文の中に入れてください。参照してください:http://stackoverflow.com/questions/11793996/onbeforeunload-handler-says-null-in-ie –
同等のjQuery 1.11で受け入れ答えに:あなたは冗長なプロンプトを参照してください選択した回答のテキストで
$(window).on("beforeunload", function() {
return "Please don't leave me!";
});
altCognitoの答えは使用unload
イベント。JavaScriptがナビゲートを中止するには遅すぎます。
最新のaddEventListener APIを使用して、より現代的でブラウザに対応した同等の方法です。
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
e.returnValue = confirmationMessage; // Gecko and Trident
return confirmationMessage; // Gecko and WebKit
});
出典:https://developer.mozilla.org/en-US/docs/Web/Events/beforeunloadこのページから移動になり何
これは良い解決策です。 –
- 1. Perl、Mechanizeを使用してウェブページをナビゲートする
- 2. ボタンをクリック/ウェブページをナビゲートするためにPythonのリクエスト・ライブラリを使用して
- 3. JavaScriptを使用してiframe内のURLをナビゲートする
- 4. タブを使用して異なるHTMLファイル(HTML、JavaScript)にナビゲートする
- 5. Angular2:location.go(url)を使用してURLにナビゲートできない
- 6. ウェブページをナビゲートして更新するのを待っています
- 7. JavaScriptを使用してウェブページが完全にロードされているかどうかを確認する方法
- 8. IOSで動作しないUIWebviewを使用してPdfをナビゲートする
- 9. Watirを使用して「このページを閉じようとしているウェブページ」メッセージを閉じるには
- 10. このウェブページがどのように成長率を生み出すためにJavaScriptを使用しているかを理解しよう
- 11. JavaScriptを使用してJSONレスポンスを取得し、ウェブページ上に表示する、JavaScriptをテストする
- 12. フォーム提出時にウェブページをスクロールしないようにしてください
- 13. Googleマップを使用したjavascriptウェブページがAndroidで動作しない
- 14. なぜこのウェブページは記事の日付を表示するのにJavascriptを使用していますか?
- 15. ボタンを使用してブートストラップでカルーセルをナビゲートするにはどうすればよいですか?
- 16. ログアウト後にユーザーがナビゲートできないようにします。
- 17. javascriptを使用してrtfファイルを解析しようとしています
- 18. ウェブページの作成にはどのようなプログラムを使用しますか?
- 19. 角度を使用して矢印を使用してデータをナビゲートできるテーブルを作成するにはどうすればよいですか?
- 20. Window.locationがURLにナビゲートしていない
- 21. webbrowser.navigate()を使用して変数からナビゲートするにはどうすればよいですか?
- 22. Chrome拡張機能を使用してウェブページをフェードアウトしようとしています
- 23. ウェブページと.jsファイルとして保存しないようにする
- 24. HtmlUnitを使用してLinkedInにログインし、Connections Webページにナビゲート
- 25. Webブラウザコントロール[WPF]内でさらにリンクをナビゲートしないようにする
- 26. ボタンを使用して同じウェブページの異なるセクションに移動するようにナビゲーションバーをコーディングするにはどうすればよいですか?
- 27. JavaScriptでグローバル変数と関数を使用しないようにする
- 28. JavaScriptを使用してページにリンクするすべてのウェブページをプルするにはどうすればよいですか?
- 29. JSでページをアンロード(ナビゲート)しないようにするにはどうすればよいですか?
- 30. ハイパーリンクを使用してビュー間をナビゲートする
? – Niyaz
質問によると、JavaScriptはそれを離れてナビゲートします... – Shog9
[このページから移動してもよろしいですか?変更が確定したとき?](http://stackoverflow.com/questions/1119289/how-to-show-the-are-you-sure-you-want-to-navigateaway-from-this-page-when- ch) –