0

ユーザーがリンクをクリックし、リンク内のページを読んでから戻ってフォームを続行する必要があるセクションが1つある単純なユーザー調査フォームがあります。現在、別のウィンドウ/タブで子 Web ページを開くためのリンクを提供している親 HTML ページがあります。

ユーザーが子ウィンドウ/タブで費やした時間を取得するにはどうすればよいですか?

4

4 に答える 4

1

次のような方法でユーザーのクリックを聞く

$('a').on('click', function(){
    var d = new Date();
    var curr_time = d.getTime();
    //save in cookie1 
})

そして今、ユーザーが読んでいる他のhtmlページで....同じことを行いますが、ウィンドウのアンロード時にのみ

 $(window).unload(function(){
    var d1 = new Date();
    var curr_time1 = d1.getTime();
    //save in cookie2 
})

これも保存して……

その後、彼女が戻ってきたら、オンフォーカスで、これらの 2 つの Cookie の値を減算し、1000 で割って秒を取得できます。これらの時間はミリ秒単位になるためです。

 (cookie1 -cookie2)/1000 seconds  //if the cookie thing is used
于 2012-04-15T21:58:20.623 に答える
0
  1. ウィンドウが開いた時間を記録します
  2. 名前付きウィンドウでページを開きます
  3. (元のページで)timeinteval関数を設定して、たとえば1000ミリ秒の名前付きウィンドウのlocation.hrefを確認します
  4. (完成した/ありがとうページに)変更された場合、または既存のユーザーが読み終えていない場合
于 2012-04-15T22:17:19.550 に答える
0

読み取りページが開いている間は、Cookie または DOM ストレージ値を設定する必要があります。そのページで:

var isFocused = true; // just opened
var secondsLookedupon = 0; // eventually init with a saved value
window.onblur = function(){ isFocused=false; }; // use addEventHandler and co
window.onfocus = function(){ isFocused=true; }; // use addEventHandler and co
window.setInterval(function(){
    if (!isFocused) {
        secondsLookedupon++;
        document.cookie.name = secondsLookedupon; // set a cookie in some way
        window.sessionStorage.setItem("name", secondsLookedupon); // or use DOM storage
    }
}, 1000);

また、調査フォーム ページから、必要なときにいつでも Cookie または domstorage からその値を読み取ることができます。

于 2012-04-15T22:23:50.720 に答える
0

ユーザーはリンクをクリックしてページを離れますか、それとも最初のページの中に 2 番目のページが表示されますか? 最初のケースでは、Cookie を使用してクリック時間を保存する必要があります。2 番目のケースでは、変数を使用します。を使用して時刻を取得できますnew Date()

于 2012-04-15T21:57:05.890 に答える