有没有办法使用javascript来判断用户在关闭浏览器或点击后退按钮之前浏览了我的网页多长时间?比如每隔几秒钟左右就在后台向php页面发送一条消息?
发布于 2010-06-15 22:53:16
加载页面时启动计时器,卸载页面时停止计时器。
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...
}发布于 2010-06-15 22:55:58
有几种方法可以使用AJAX技术来实现这一点。
使用JQuery:
var startTime = new Date();
$(window).unload(function() {
var endTime = new Date();
$.ajax({
url: "yourpage.php",
data: {start: startTime, end: endTime}
});
});发布于 2010-06-15 22:54:40
您还可以尝试在onUnload事件中运行AJAX请求。这将提供比定期轮询更准确的时间(显然,网络流量更少)。
https://stackoverflow.com/questions/3046322
复制相似问题