我有一个页面有5个子页面(每个页面都有不同的页面链接)我想要做的是创建一个计时器来计算用户在电话上花费的秒数。
例如
main.php << the landing page
tab1.php << additional tab
tab2.php << additional tab
tab3.php << additional tab
tab4.php << additional tab
第一次使用点击登陆页面“main.php”这里我需要启动一个计数器,如果用户点击选项卡1,tab2,tab3或tab 4我希望计时器仍然计算秒数用户花在这些页面上。
我使用了一个名为“runner”http://plugins.jquery.com/runner/的jQuery插件在我的页面上有一个计数器但是当用户切换到另一个标签时,计数器被重置。我唯一的问题是如何创建一个计数器,将值传递给其他选项卡而不会丢失计数器。
问题摘要 我的问题的核心是如何在cookie中构建一个实时计数器?这样cookie值就会每秒递增1。在我在另一页中清除cookie之前,它不会停止。
我使用PHP来完成剩下的代码
感谢您的帮助。
答案 0 :(得分:0)
您可以在Cookie中存储开始时间并在清除之前阅读结束时间。或者使用会话来做到这一点?
if(!isset($_SESSION['start'] ))$_SESSION['start'] = time(); //on your landing page
$time_spent = time()-$_SESSION['start']; //on your tabs
答案 1 :(得分:0)
您可能正在寻找使用Javascript设置Cookie的方法。如果你真的想,你可以每秒致电createCookie()
。您还必须跟踪开始时间以获得在页面上花费的实际时间。但这只是为了帮助您走上正轨。无论如何肯定有更好的方法。请听其他评论。
var unixTimestamp = Math.round(new Date().getTime() / 1000);
window.setInterval("createCookie('myCookie', unixTimestamp)", 1000);
function createCookie(c_name, value) {
var expires = "";
document.cookie = c_name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
上讨论并发布