4

什么是跟踪网站上用户交互的好方法。然后我的意思是捕获所有内容,例如:

  • 滚动
  • 点击
  • 移动光标
  • 发射输入

当然,对于大量的 HTTP post/get 请求,它可能会让用户感到不快。我正在寻找一种方法来做到这一点,而不会惹恼用户并且不会丢失太多数据。

我希望有人对此有一些经验!

4

1 回答 1

4

免责声明:许多用户不赞成像这样监视您的用户,我建议您不要在不让您的用户确切知道您在做什么的情况下这样做。

话虽如此,您可以将事件侦听器添加到要监视的事件中。然后只需先将它们存储在本地,并且仅在给定的时间间隔或用户离开页面时将它们存储在您的服务器端。这是一个简单的例子(小提琴: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. 我也不太关心浏览器的兼容性。

于 2013-11-02T16:36:43.253 回答