2

Web アプリケーションで奇妙な問題に直面しています。

onBeforeUnload イベントのリスナーがあり、ユーザーが本当にページを離れたいかどうかを確認するように求めています。

正常に動作しており、期待どおりです。しかし、断続的な問題に直面しています。場合によっては、onBeforeUnload イベントが同時に複数回 (約 100 回) トリガーされることがあります。そのため、「ナビゲーションの確認」ポップアップができるだけ多く表示されます。これらの多くのイベントがトリガーされる理由はわかりません。

更新ボタンや戻るボタンを押していないことをユーザーに確認しました。いくつかのログを追加し、同じことを確認しました。

Firefox と IE では正常に動作します。クロムでのみ、私はこの問題に直面しています。ユーザーは少なくとも 1 日に 1 回この問題を報告しており、アプリを再び使用するためにブラウザーを再起動しています。

私の質問は、なぜ複数のイベントがトリガーされるのかということです。これを引き起こす可能性があるのは、どのような種類のアクションですか?

注 : 私のページにはいくつかの iframe があります。しかし、どれも onBeforeUnload のリスナーを持っていません。

編集:

次のようにJavaScriptを使用してイベントを追加しています。

    window.onbeforeunload = function() {
          return "some message here";
    }
4

1 に答える 1

0

変数を追加し、その変数に基づいてプロンプトを 1 回だけ表示する必要があります

var prompted = false;

window.onbeforeunload = function(){
    if(!prompted){
        // code here
        prompted = true;

        return 'You are leaving ....';
    }
}
于 2012-09-05T09:12:32.463 に答える