0

当访问者通过关闭选项卡或浏览器离开页面时,是否可以将在页面上花费的时间报告回服务器?使用 Javascript。

它适用于 Firefox、Google Chrome、Safari、Opera 和 IE8(IE7 和 6 不重要)。

但无论如何它都会起作用;即使浏览器正在关闭,或者输入另一个地址。

4

4 回答 4

4

您可以尝试windows.onbeforeunload,但不能保证它在所有情况下都有效。

无论如何,我建议您使用具有该功能的谷歌分析(我怀疑您可以比谷歌做得更好!)。免费。

于 2009-12-20T02:29:57.383 回答
2

如果你想自己实现这个,你需要决定什么时候得到开始时间——你可以在页面顶部放置一个脚本标签,它可能在内容呈现之前执行,onload事件,它将等待直到所有图像和脚本都已加载,或者类似于JQuery 就绪事件,当 DOM 准备好时发生,但不等待资源加载。此时,您需要记录开始时间:

<script>var startTime = new Date().getTime();</script>

然后您可以监听 onunload 或 onbeforeunload 事件并使用图像发送带有信息的 GET 请求:

<script>
  window.onunload = function() {
    var i = new Image();
    var timeSpentMilliseconds = new Date().getTime() - startTime;
    i.src = '/pagetime?timespent=' + timeSpentMilliseconds;
  }
</script>

您必须进行一些测试以查看是否始终发送请求-我敢肯定有时浏览器会关闭或选项卡会在它们完成触发之前切换。

于 2009-12-20T04:01:00.290 回答
1

您也可以尝试PiWik,它为您提供有关您网站访问者的类似统计信息。

于 2009-12-20T03:53:40.460 回答
1

为什么不直接使用 Google Analytics?除了您想要的之外,它还为您的分析提供了更多数据。而且,它是免费的。问候,冻结。

于 2009-12-20T04:24:12.183 回答