我有一个简单的用户调查表单,其中有一个部分,用户需要点击链接,阅读链接中的页面,然后返回继续表单。目前,我有一个父HTML页面,我提供了一个链接,可以在不同的窗口/选项卡中打开子网页。
如何获取用户在子窗口/选项卡上花费的时间?
答案 0 :(得分: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
})
另外保存....
然后当他/她回来时,我的意思是它的onfocus你可以减去这2个cookie的值并除以1000得到秒,因为这些时间将以毫秒为单位。
(cookie1 -cookie2)/1000 seconds //if the cookie thing is used
答案 1 :(得分:0)
用户是通过点击链接离开页面,还是第一页显示在第一页?在第一种情况下,您必须使用cookie来存储点击时间,在第二种情况下,使用变量。可以使用new Date()
检索时间。
答案 2 :(得分:0)
答案 3 :(得分: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中读取该值。