[解決済み] jQuery/Javascriptを使用して、あらゆる形式のページ更新を防止する。
質問
ユーザーが私のページにアクセスしたら、ページを更新させたくないのです。
-
いつでも、ユーザが F5 または上部の更新ボタンを押します。というアラートが表示されるはずです。
ページを更新することはできません。
-
また、ユーザーが新しいタブを開き、前のタブで同じURLにアクセスしようとすると、アラートが表示されるはずです。
2つのタブで同じページを開くことはできません。
とにかくJavaScriptやjQueryを使えばいいんでしょうか?ポイント1は本当に重要です。
どのように解決するのですか?
#1は
window.onbeforeunload
.
例えば
<script type="text/javascript">
window.onbeforeunload = function() {
return "Dude, are you sure you want to leave? Think of the kittens!";
}
</script>
ユーザーにはメッセージが表示され、ページに留まるか、そのまま進むかのオプションが与えられます。これはより一般的になってきています。Stack Overflow では、投稿を入力している間にページから移動しようとすると、このような動作になります。ユーザーが再読み込みするのを完全に止めることはできませんが、再読み込みされた場合に本当に恐ろしい音がするようにすることはできます。
#2は多かれ少なかれ不可能です。セッションとユーザーのログインを追跡したとしても、2 番目のタブを正しく検出していることを保証することはできないでしょう。たとえば、1 つのウィンドウを開いていて、それを閉じます。次に新しいウィンドウを開くとします。この場合、最初のウィンドウをすでに閉じているにもかかわらず、2つ目のタブとして検出される可能性があります。この場合、ユーザーは最初のウィンドウを閉じたのでアクセスできず、2 番目のウィンドウも拒否されたのでアクセスできません。
実際、私の銀行のオンラインシステムは、2.を実行するために本当に一生懸命で、上記の状況は常に起こります。私は通常、銀行システムを再び使用する前に、サーバー側のセッションが期限切れになるまで待たなければなりません。
関連
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み] JavaScriptでドロップダウンリストの選択値を取得する
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] JavaScriptでページの一番上までスクロールする?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] javascript includes() 大文字小文字を区別しない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?