0

ASP.NETアプリケーションのページにユーザーが滞在している時間を測定する方法を考え出そうとしています。ユーザーID、ページ名、pageenteredtime、pagelefttimeをデータベースに保存しています。各レコードには、featureuselogidと呼ばれる独自のIDもあります。

現時点では、サーバー側のpage_load関数を使用して、ユーザーがいつページにアクセスしたかを追跡できます。ユーザーID、ページ名、pageenteredtimeを保存します。

その後、私は立ち往生し、正しい方向にいくつかのガイダンスが必要です。ユーザーがページを離れる時間を記録する必要があります。私はjavascriptにwindow.onbeforeunload関数があることを知っています。これは、ほとんどの場合(ブラウザーのシャットダウン、リンクなど)をカバーします。

しかし、どうすればfeatureuselogidをjavascriptに渡すことができますか?それができれば、JavaScriptからWebサービスを呼び出して、pagelefttimeでレコードを更新できると思います。

私は間違った道を進んでいますか?

よろしくお願いします。

4

3 に答える 3

2

サーバーを定期的に呼び出すクライアントでJavascriptタイマーを実行する必要があります。予定された時間に通話が記録されない場合は、ユーザーが退出したことを意味します。Woopraはこれを行い、確実に機能します。たとえば、バックグラウンドで何日もブラウザにページが読み込まれている場合がありますが、接続されていることを検出する方法は他にありません。

ネットワークケーブルを引っ張ったり、Wifiゾーンのカバレッジから外れたりするラップトップのユーザーは、onbeforeunloadイベントがサーバーに到達しなくなるシナリオが多すぎます。

于 2009-10-06T03:23:31.620 に答える
1

featureuselogidページの非表示フィールドに、Javascriptにアクセスできるようにする一意のIDを入力するか、javascript変数を設定するだけです。

そうは言っても、あなたは最も確実に検出できるようになると思いますPage_Load。イベント間の時間を測定することにより、ページ間の時間を決定できPage_Loadます。ブラウザを閉じることはできませんが、ユーザーがブラウザを閉じるタイミングをIMOが知っていることは、それほど意味がありません。

于 2009-10-06T03:11:14.793 に答える
0

ASP.netでページをレンダリングするときは、サーバー側スクリプトの値に変数を割り当てるjavascriptタグを含めます。

<script language="javascript">
    var JS_featureuselogid = <%= featureuselogid %>;
</script>

javascriptコードの後半で、JS_featureuselogid変数を参照して、ページ構築中に挿入された値を取得できます。

于 2009-10-06T03:10:33.877 に答える