1

ユーザーが戻るボタンをクリックしたり、URLバーに別のWebサイトを書いたりせずに、ページを閉じたかどうかを知りたいと思っています。私はこれを試しました、

$(window).bind('beforeunload', function () {

logout();

});

動作しますが、ユーザーが戻るボタンをクリックするか、別の URL を書き込んで移動したときにも起動します。私の質問は、ユーザーがページを閉じたかどうかを知ることは可能ですか?

4

1 に答える 1

2

代替手段はありますが、高価であり、実際にはユーザー ケースによって異なります。私たちが行った簡単なチャットで、それは私にとって驚異的に機能します。JavaScript を使用して、常に (数秒ごとに) ユーザー ID のページを呼び出すことができexample.com/misc/alive/456457ます。ここで、456457 はユーザーの ID です。次に、その呼び出しをデータベース テーブルに新しい行として導入します。ユーザーがX 秒以上コールバックしない場合は、そのユーザーがいなくなったと見なします。

もちろん、ユーザーが「いなくなった」ときだけアクションを取得するのではなく、データベースを取得して、ユーザーがいつ「おそらく」去ったのかを分析する必要があります。チャットの例では、2 秒ごとに呼び出して、最後の 5 秒間にオンラインのユーザーがいるかどうかを確認し、重複する ID を削除するのと同じくらい簡単でした (しきい値を設定するため)。

于 2013-07-06T06:08:49.797 に答える