有没有办法使用javascript来确定某人在关闭浏览器或点按后退按钮之前看了多长时间?像是在后台每隔几秒左右向php页面发送一条消息?
答案 0 :(得分:3)
使用AJAX技术可以通过多种方式实现此目的。
使用JQuery:
var startTime = new Date();
$(window).unload(function() {
var endTime = new Date();
$.ajax({
url: "yourpage.php",
data: {start: startTime, end: endTime}
});
});
答案 1 :(得分:1)
在加载页面时启动计时器,并在卸载页面时停止计时。
var timeSpent = 0; //seconds on page
var timer;
window.onload = function() {
timer = setInterval( function() { timeSpent++; }, 998 );
};
window.onunload = function() {
timer = clearInterval( timer );
//.. do something with timeSpent here...
}
答案 2 :(得分:1)
您还可以尝试在onUnload事件中运行AJAX请求。与周期性轮询相比,这将提供更准确的时间(显然网络流量更少)。