4

javascript onbeforeunloadイベントを使用して、ページを終了するかどうかをユーザーに尋ねようとしていますが、イベントを発生させたくありません (編集:「イベント」は、ポップアップしてユーザーに確認するダイアログ ボックスです)サイトを離れるには [OK] をクリックし、現在のページにとどまるには [キャンセル] をクリックします)。

ユーザーがJavaScriptまたはPHPを使用して戻るボタンを押したかどうかを確認する方法はありますか?

IE でのみ機能する非表示の iframe を使用するソリューションを取得しましたが、可能であれば Firefox、Chrome、および Safari で機能するものが必要です。

編集: ユーザーが戻るボタンを押すと、iframe は送り返されますが、親ページは同じ場所に留まるため、IE ソリューションは機能します。このことから、ユーザーが実際に戻るボタンを押したことがわかるので、history.back()を使用します。この小さなハックは (私の知る限り) 他のブラウザーでは機能しないため、クロスブラウザー ソリューションを探しています。

tl;dr window.onbeforeunloadを使用して、ユーザーにサイトを離れたいかどうかを尋ねるダイアログをポップアップ表示しています。ユーザーが戻るボタンを押したときにこれがポップアップしないようにします。ユーザーがブラウザの戻るボタンを押したことをどのように確認できますか?

ありがとう、リック

4

3 に答える 3

7

簡潔な答え:

いいえ。

長い答え:

ぬおおおおおおおおお。

よほどの理由がない限り、ユーザーをウェブサイトにとどめようとしないでください。フォーム フィールドの保存は、良い使用例です。彼らが別のウェブサイトに移動しているかどうかを確認するのは、悪い使い方です。

Web の黎明期ほど、ページからページへ移動することはなくなりました。代わりに、Google やソーシャル ネットワークを使用して興味深いページを見つけ、個別の個別の情報を消費します。

于 2010-12-21T06:15:47.310 に答える
3

ユーザーがページを離れたときにどのページに移動するかを事前に知ることはできません。現在の履歴で URL を取得することさえできません。

あなたの問題の解決策が見当たりません。申し訳ありませんが、解決策があるとは思えません。

于 2010-12-20T22:03:08.120 に答える
0

ユーザーが [戻る] ボタンをクリックしたときに何も起こらないようにする場合は、[戻る] ボタンが押されたかどうかを必ずしも判断する必要はありませ

あなたの目標は、誰が「[your] サイトにとどまる可能性が最も高い」かを判断し、離脱したいすべての人のために追加のステップを作成することです。ブラウザがどのように動作するかについてのユーザーの期待を中断して無効にしようとしています。

本当にこれを行いたい場合は、戻るボタンによってトリガーされないすべてのアンロード イベント(ページ上のすべてのリンク、ウィンドウを閉じるなど) のイベント リスナーを用意してください。簡単ではありません。すべてのイベントをキャッチできます。しかし、これを行う正当な理由がない限り、人々を怒らせることになるので、それが本当に重要な場合は、余分な努力をしてください.

tl;dr: 戻るボタン以外のすべてにイベント リスナーを追加し、コールバック関数でダイアログを表示します。しかし、それは人々を怒らせるでしょう。

于 2010-12-23T16:22:26.643 に答える