[解決済み] jquery beforeunload ページを閉じる(離脱しない)とき?
2022-03-13 22:17:23
質問
ユーザーがページを閉じようとしたとき(ブラウザのウィンドウまたはタブのXボタンをクリックしたとき)ではなく、ユーザーがページから離れようとしたとき(他のリンクをクリックしたとき)に、"Are you sure you want to leave the page?" を表示するにはどうすればよいですか?
私のクライアントは、ユーザーがページを閉じようとしたときに "本当にこのページから離れますか?ショッピングカートにまだ商品があります。
残念ながら
$(window).bind('beforeunload')
は、ユーザーがページを閉じたときだけ起動するわけではありません。
jQueryを使用します。
function checkCart() {
$.ajax({
url : 'index.php?route=module/cart/check',
type : 'POST',
dataType : 'json',
success : function (result) {
if (result) {
$(window).bind('beforeunload', function(){
return 'leave?';
});
}
}
})
}
解決方法は?
を使用することで可能です。 JQuery .
について 例 ,
<a href="your URL" id="navigate"> click here </a>
あなたの
JQuery
になります。
$(document).ready(function(){
$('a').on('mousedown', stopNavigate);
$('a').on('mouseleave', function () {
$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});
});
});
function stopNavigate(){
$(window).off('beforeunload');
}
そして、それを得るために メッセージを残すアラート になります。
$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});
$(window).on('unload', function(){
logout();
});
この解決策はすべてのブラウザで動作し、私はそれをテストしました。
関連
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] JavaScriptでページの一番上までスクロールする?
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
JSクロスドメインソリューション リアクト構成 リバースプロキシ
-
vueが定義するプライベートフィルタと基本的な使い方
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
[解決済み】OnBeforeUnloadダイアログをオーバーライドして、独自のダイアログに置き換えるにはどうしたらいいですか?
-
[解決済み] ブラウザウィンドウのクローズイベントをキャプチャするには?