<分区>
跟踪网站上用户交互的好方法是什么?然后我的意思是捕获所有内容,例如:
- 滚动
- 点击
- 移动光标
- 发出输入
当然,大量的 HTTP post/get 请求可能会让用户感到不快。 我正在寻找一种既不会打扰用户又不会丢失太多数据的方法。
我希望有人对此有一些经验!
<分区>
跟踪网站上用户交互的好方法是什么?然后我的意思是捕获所有内容,例如:
当然,大量的 HTTP post/get 请求可能会让用户感到不快。 我正在寻找一种既不会打扰用户又不会丢失太多数据的方法。
我希望有人对此有一些经验!
最佳答案
免责声明:很多用户都反对像这样监视您的用户,我建议不要在您的用户不知道您在做什么的情况下这样做。
也就是说,您可以将事件监听器添加到您想要监视的事件中。然后先将它们存储在本地,并且仅在给定的时间间隔或用户离开页面时才将它们存储在您的服务器端。这是一个简单的示例(Fiddle:http://jsfiddle.net/8ucSV/):
var Spy = (function (register, undefined) {
var eventStore = [],
// you can also add other things like "mousemove" here…
events = ['click'];
var store = function (type, data) {
eventStore.push({
type: type,
data: data
});
};
events.forEach(function (event) {
register(event, function (data) {
store(event, data);
}, false);
});
return {
dump: function () {
console.log(eventStore);
},
store: function () {
// do whatever you wanna do here…
}
};
})(document.addEventListener);
显然,除了可以通过 addEventListener
注册的事件之外,您还可以添加更多抽象来监视其他事物。我也不太关心这里的浏览器兼容性。
关于javascript - HTML5 + JS : Tracking user interaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19743932/