我有一个简单的用户调查表单,其中有一个部分,用户需要点击一个链接,阅读链接内的页面,然后回来继续表单。目前,我有一个父母的HTML页面,我从中提供了一个链接,以便在不同的窗口/选项卡中打开一个子页面。如何获得特定窗口打开的时间?
如何获取用户在子窗口/选项卡上的时间?
我有一个简单的用户调查表单,其中有一个部分,用户需要点击一个链接,阅读链接内的页面,然后回来继续表单。目前,我有一个父母的HTML页面,我从中提供了一个链接,以便在不同的窗口/选项卡中打开一个子页面。如何获得特定窗口打开的时间?
如何获取用户在子窗口/选项卡上的时间?
用户是通过点击链接离开页面还是第一页显示的第二页?在第一种情况下,您必须使用Cookie来存储点击时间,在第二种情况下,请使用变量。时间可以使用new Date()
来检索。
倾听用户的点击通过类似
$('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你可以减去这两个饼干的价值和除以1000获得秒,因为这些时间将以毫秒为单位。
(cookie1 -cookie2)/1000 seconds //if the cookie thing is used
您应该设置一个cookie或DOM存储媒体e值,而页面读取是打开的。在该页面中:
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中读取该值。
我感到又一次企图迫使人们阅读合法化,他们不想阅读。通过撰写清晰,简单,简短的摘要可以更好地解决这个问题。 – Quentin 2012-04-15 21:51:20
如果有一个烦人的计时器,人们只会做别的事情。如果有人想阅读,他会,如果不是,他不会。不要用计时器惹恼你的用户 - 尤其是因为他们对于读取速度很快的osmeone通常太长。 – ThiefMaster 2012-04-15 21:52:12
@Quentin:这是针对我正在构建的产品的用户调查。 – Legend 2012-04-15 21:54:03