Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 页面卸载时调用php函数_Javascript_Php - Fatal编程技术网

Javascript 页面卸载时调用php函数

Javascript 页面卸载时调用php函数,javascript,php,Javascript,Php,我为学生开发了一个使用php的在线学习课程。当学生离开课程页面时,应记录他花费的时间 不,我使用javascript window.onLoad和window.onbeforeload调用php函数来使用ajax跟踪时间。但它不能正常工作 卸载页面时,可以从服务器端调用php函数?否。一旦服务器将页面发送到浏览器,它就无法控制或洞察页面上发生的情况。如上所述,使用JavaScript是实现此功能的唯一方法。当用户在站点上时,最好每隔一段时间(比如每30秒)向PHP页面发送心跳信号。然后,根据接收

我为学生开发了一个使用php的在线学习课程。当学生离开课程页面时,应记录他花费的时间

不,我使用javascript window.onLoad和window.onbeforeload调用php函数来使用ajax跟踪时间。但它不能正常工作


卸载页面时,可以从服务器端调用php函数?

否。一旦服务器将页面发送到浏览器,它就无法控制或洞察页面上发生的情况。如上所述,使用JavaScript是实现此功能的唯一方法。

当用户在站点上时,最好每隔一段时间(比如每30秒)向PHP页面发送心跳信号。然后,根据接收到的所有心跳计算所花费的总时间


用ajax发送它们,然后用PHP将它们合计。

大多数站点将页面加载时间存储为会话或类似的方式。然后,当页面刷新或加载另一个页面时,页面上花费的时间将分别计算和存储

例如:

<?php
    session_start();
    if(isset($_SESSION['lasttime'])){
        $_SESSION['totaltime'] += time() - $_SESSION['lasttime']; //Add seconds onto total time
    }
    $_SESSION['lasttime'] = time();
    //...
?>

如果你想检测他们何时完全离开网站,那么这是不可能的。

这就是原因。它跟踪您网站的访问者,并向您报告访问时间等统计数据。他们甚至会帮助你获得这些信息

如果你不想得到任何解决方案,请参考以下链接

1)
2)
3)
4)


我希望这个链接和答案对你有用…-)

不,这是不可能的。