HTML5 + JS:跟踪用户交互

时间:2013-11-02 16:10:36

标签: javascript html5 user-interaction

跟踪网站上用户互动的好方法。然后我的意思是捕获所有内容:

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

当然,有很多HTTP post / get请求,这对用户来说可能是令人不快的。 我正在寻找一种方法来做到这一点,而不会烦扰用户,也不会有太多数据丢失。

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

1 个答案:

答案 0 :(得分:3)

免责声明:许多用户不喜欢对您的用户进行间谍活动,我建议您不要让用户确切知道您在做什么。

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