0

どのページがどのくらいの期間読まれたかなどを記録するために、独自の簡単な統計を作成しています。

次に、ajax呼び出しを使用して情報をデータベースに記録します。window.ONBEFOREUNLOADイベントを使用して機能していますが、これにより、アクセスしたページごとにデータベースレコードが作成され、代わりにページの統計をjs変数に保存してから1つだけ実行したい訪問者が最終的にサイトを離れたときに ajax を呼び出します。

純粋な JavaScript を使用してイベント リスナーを作成し、ユーザーがサイトを離れたことを検出する方法はありますか?

4

2 に答える 2

3

いいえ。

ブラウザーがデフォルトでこのようなイベントを提供することはできません。ブラウザー自体は、サイト全体を取り囲むものを認識していないため、ユーザーがいつサイトを離れたかをブラウザーが知ることは不可能です。

JavaScript でソリューションを自分で実装するのは簡単です。実装は簡単ですが、解決は困難です。

ユーザーがサイトを離れたことをどのように判断できるかを検討する必要があります。出口点をどのように定義しますか? 出口点を定義できますか? これは重要な問題です。解決策が存在するかどうかはわかりません。

于 2012-05-31T12:35:49.483 に答える
0

方法1:イベントを 試すonbeforeunload:ページがアンロードされる直前に発生します

また、ユーザーが本当に離れたいかどうかを尋ねることもできます。

このデモを見る

または、彼が去ったときにajaxリクエストを送信することもできます。

方法2:

`if(window.screenTop> 10000)
alert( "ウィンドウが閉じています");
そうしないと
alert( "ウィンドウstillOpen"); `

方法3: この記事を参照してください。あなたが探している機能はonbeforeunloadです

サンプルコード:

  <script language="JavaScript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
  }
</script>

この回答のすべての情報はStackOverflow.comにあります

于 2012-05-31T12:43:49.163 に答える