当访问者通过关闭标签页或浏览器离开页面时,是否可以将页面上的时间花费报告回服务器?使用Javascript。
它适用于Firefox,谷歌浏览器,Safari,Opera和IE8(IE7和6并不重要)。
但它无论如何都会奏效;即使在浏览器关闭时,或者键入了另一个地址。
答案 0 :(得分:4)
您可以尝试windows.onbeforeunload
,但无法保证它在所有情况下均可使用。
无论如何,我建议您使用google analytics,其中包含许多其他功能(我怀疑你可以做得比谷歌更好!)。它是免费的。
答案 1 :(得分:2)
如果你想自己实现这个,你需要决定何时获得开始时间 - 你可以在页面顶部放置一个脚本标签,这可以在内容呈现之前执行,onload事件,这将等到所有图像和脚本都已加载,或类似JQuery ready event之类的东西,这在DOM准备就绪时发生,但不等待加载资源。此时,您需要记录开始时间:
<script>var startTime = new Date().getTime();</script>
然后你可以监听onunload或onbeforeunload事件并使用图像发送带有info的GET请求:
<script>
window.onunload = function() {
var i = new Image();
var timeSpentMilliseconds = new Date().getTime() - startTime;
i.src = '/pagetime?timespent=' + timeSpentMilliseconds;
}
</script>
您必须进行一些测试,以确定是否始终发送请求 - 我确定有时浏览器会关闭或标签在完成触发之前切换。
答案 2 :(得分:1)
您还可以尝试PiWik,它会为您提供有关您网站访问者的类似统计信息。
答案 3 :(得分:1)
为什么不直接使用Google Analytics? 除了你想要的,它还为你的分析提供了更多的数据。 而且,它是免费的。 问候, freezea。