在页面卸载时调用php函数

时间:2013-10-05 12:45:54

标签: javascript php

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

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

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

4 个答案:

答案 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

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

相关问题