我使用php为学生开发了一个电子教学课程。当学生离开课程页面时,应记录他花费的时间。
不,我使用javascript window.onuload和window.onbeforeload来调用php函数来使用ajax跟踪时间。但它不能正常工作。
当页面卸载时,可以从服务器端调用php函数吗?
答案 0 :(得分:1)
当用户在网站上时,比如每隔30秒,在一段时间内向PHP页面发送心跳信号可能会好得多。然后,根据收到的所有心跳总计花费的时间。
使用ajax发送它们,并以PHP格式汇总它们。
答案 1 :(得分:0)
没有。一旦服务器将页面发送到浏览器,它就无法控制或洞察页面上发生的情况。如上所述使用JavaScript是实现此目的的唯一方法。
答案 2 :(得分:0)
大多数网站将页面加载的时间存储为会话或类似时间,然后刷新页面或加载其他页面时,计算页面上花费的时间并单独存储。
示例:
<?php
session_start();
if(isset($_SESSION['lasttime'])){
$_SESSION['totaltime'] += time() - $_SESSION['lasttime']; //Add seconds onto total time
}
$_SESSION['lasttime'] = time();
//...
?>
如果你想要检测他们什么时候完全离开这个网站,那就不可能了。
答案 3 :(得分:0)
这是Google Analytics的用途。它会跟踪您网站的访问者并向您报告统计信息,例如访问时长。他们甚至offer an API来帮助您获取此信息。
如果你不想得到解决方案,请参阅以下链接
1) How do I know how long a user or a single IP address spent on a page of my site?
2) Page session in php, I want to store the time spent by the user on a particular page…?
3) time user spent on the page
4) time spent by user on a web page until he submits the form
我希望这个链接和答案对你有用..: - )