如何知道用户打开网页的时间

时间:2014-04-22 09:44:17

标签: javascript php performance

我试图猜测用户在php上浏览我网站的时间。要做到这一点,我认为对于我网络上的每一个新动作,我都可以区分$ _SERVER [' REQUEST_TIME']和当前。 我也打算获得我当前托管的统计数据,但我不知道我是否可以通过PHP请求获取这些值。 我想了解一下使用第一种和第二种方法的观点,但在建议中,我应该说我对第一种方案并不满意,如果申请量非常高,服务器可能会崩溃。 ..,否则我不知道其他任何方式,所以如果你能帮助我,那就太好了。 在我的网站上,我使用的是HTML5,CSS3,PHP,JavaScript,JQuery,AJAX和MySQL数据库。 据我所知,我想存储和计算用户在我的网页上登录的所有时间。 谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点,但只有一种方法可以获得相当准确的读数。

PHP时差

这个方法就是你在检查时差时所说的。您将标记用户访问该页面的时间。然后,当访问者导航到另一个页面时,您将减去两次,并且您有用户查看上一页的持续时间。

为了让自己更清楚一点,下面是为了使PHP时差方法有效而需要执行的操作的基本布局。

  1. 记录当前页面网址和time()。将其存储为数据库中的cookie /会话/条目。
  2. 当用户访问某个页面时,请检查HTTP_REFERER变量,如果它与之前的页面匹配,则可以计算它们在最后一页上的时间。需要进行推荐检查,以确保他们不仅打开新标签页并再次访问您的网站。您还需要添加时间限制,因此如果该值超过30分钟,则不会将其标记为访问该页面超过30分钟。
  3. 继续重复这些操作,你会有一个稍微好的跟踪方法。如果他们不发送推荐标题,这将不具体,在某些情况下不起作用。
  4. Javascript跟踪

    您可以每隔几分钟发送一次“热潮”或“ping”,告诉您的服务器用户仍在特定页面上。您可能希望将用户当前所在的URL作为参数发送,不要依赖要发送的HTTP Referral标头。使用此方法可以获得非常准确的读数。您甚至可以跟踪用户是否专注于Web浏览器窗口,以检查页面是否正在被阅读或仅在后台。