【问题标题】:How to capture user interaction with a website?如何捕捉用户与网站的交互?
【发布时间】:2010-11-22 20:47:53
【问题描述】:

如何捕捉网站上的用户互动?用户点击了多少链接。用户来自哪里。我想创建自己的逻辑。我不想使用任何统计工具。我怎样才能做到这一点?

提前致谢

【问题讨论】:

    标签: javascript ajax seo


    【解决方案1】:

    用户来自的地方可以通过referer(document.referrer)获得。
    如果您有某种会话或标记用户(通过 cookie),则可以通过捕获 onclick 事件来检查单击了哪些链接。但是不要在每个链接上都点击,只需使用事件捕获技术。在 jQuery 中,这将是:

    $('a') 
        .livequery('click', function(event) { 
            alert('clicked'); 
            return false; 
        }); 
    

    如果您想在消失时捕获点击的链接 - 您应该放置 onunload 事件,该事件会将有关点击链接的数据发送到您的服务器。

    【讨论】:

    • 链接和 onunload 上的实时事件可能不会给您足够的时间在新页面加载之前跟踪/记录服务器上持久性的数据。
    【解决方案2】:

    我知道有两种方法:

    1. 创建服务,并在您要跟踪的每个事件上使用 GET 方法调用它。
      这是这样的:

      service.php?event=pageview&time=127862936&userId=70&registered=true
      

      这样您的服务可以处理数据。

    2. 我知道的第二种方法,我自己使用的是调用我服务器上的一些虚拟图像,将 GET 查询链接到它,然后在服务器端分析对图像的请求。每个请求都经过处理和记录,然后我构建报告。

    同样,您需要知道要抓取哪些事件,它们是预定义的,并且需要在它们发生时捕获并发送它们。您的客户端可以放置一个 1-script js 文件,但此脚本需要添加事件侦听器。假设您想知道用户何时退出页面。为 onbeforeunload 事件添加一个事件监听器,如下所示:

    window.onbeforeunload = function(){
       sendStats({event:'onbeforeunload'});
    }
    

    然后 sendStats 函数分解 JSON 并构建一个查询以发送到服务器,如下所示:

    function sendStats(statsJSON){
        var url = [];
        for (var key in statsJSON) {
            // make sure that the key is an actual property of an object, and doesn't come from the prototype
            if( statsJSON.hasOwnProperty(key) ){  
                var sign = (!url[0]) ? '?' : '&';
                url.push(sign);
                url.push(key + '=');
                url.push( encodeURI(statsJSON[key]) );
            }
        }
        var time = new Date().getTime();
        url.push('&time=');
        url.push(time);
    
        var stat = new Image();
        stat.src = clientHost + 'stats.gif' + url.join('');
    }
    

    【讨论】:

      【解决方案3】:

      从网络服务器日志文件开始,深入研究它的格式,尝试一些简单的统计数据。然后,您可能需要通读 awstats 等统计工具的代码,以增强您对此的认识。

      【讨论】:

        【解决方案4】:

        我是一名 asp .net 开发人员。但我认为这种技术将一直有效。如果您想了解用户从何处访问您的站点,您可以使用某种跟踪查询字符串变量 www.mysite.com?IMFrom=something。因此,当您在某些第三方网站上发布链接时,例如说谷歌。将链接发布为 www.mysite.com?google=traficfromgoogle。您可能有来自其他网站的流量。每个都有不同的查询字符串变量。您还可以为所有向您发送流量的网站使用某种唯一 ID。现在创建将跟踪此查询字符串变量的跟踪函数。使用此函数,它将在每个请求期间被调用。 您现在可以为每个具有此类查询字符串的请求添加一些自定义逻辑。

        【讨论】:

          【解决方案5】:

          我认为您不需要捕获它,因为它很可能已经由 Web 服务器本身在 Web 服务器日志中捕获。您只需要找到可以分析日志并为您提供一些不错的指标的软件。那里有很多包。

          【讨论】:

            【解决方案6】:

            我知道它不会创建您自己的逻辑,但如果您决定不想解析您的服务器日志,您可以尝试一项新服务,该服务正在尝试整合谷歌分析:http://mixpanel.com/。这是实时分析,他们有一个免费的受限帐户,因此您可以在升级之前尝试一下。

            我还没有尝试过他们的 api 来获取信息,但我想您可以让他们从您的站点收集数据,并在您获取数据后用它做一些有趣的事情。

            【讨论】:

              【解决方案7】:

              使用 Google 分析并使用其 API 关联网站元素。

              【讨论】:

                【解决方案8】:

                录制和回放网络https://www.rrweb.io/

                这可用于: - 在浏览器中记录用户交互/事件 - 仅在出错时才将录音发送到您的后端

                【讨论】:

                  猜你喜欢
                  • 2018-07-10
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-09-17
                  • 2011-07-20
                  • 2012-11-08
                  相关资源
                  最近更新 更多