如何使用Google Analytics跟踪Caps Lock用户?

时间:2012-01-16 18:37:14

标签: javascript jquery google-analytics

我喜欢使用Google Analytics以及我能够分割有关访问者信息的方式。我们使用客户变量来跟踪用户与我们网站的互动对象和信息。坚持分析的目标,我们一直在寻找改善和优化我们网站的方法。

目前,我们正处于开发阶段,我们可以选择如何存储和展示产品信息。提出的一个问题是是否以全部大写形式显示产品信息。过去几年与我们的用户合作,似乎我们的大部分流量都来自有大写锁定的访问者。所以它让我们思考,我们是否可以通过客户变量跟踪我们的大写锁定用户,以便我们可以更明智地确定如何呈现信息?

看看我拍了一下这个样本:http://jsfiddle.net/shanabus/Za4kL/

我们的网站基本上代表一个标准的电子商务网站。有几个不同的文本框,允许您搜索部件号,在整个订单处理过程中,有一些地方用户可以键入文本。你会将大写锁定测试绑定到所有文本框或只是常见的文本框吗?如果我将keypress监听器绑定到站点上的所有文本框或者它可以忽略不计,是否会影响性能?有没有更好的方法来实现这个?

我想象的不是显示/隐藏div而是设置自定义var:

_gaq.push('_setCustomVar', 5, 'capslock', 'true', 3);

感谢您对这个看似微不足道的话题的任何想法和考虑。

1 个答案:

答案 0 :(得分:4)

我将全局绑定事件,并使用以下代码:

var CAPS_ON = null;
$(window).keypress(function(ev) {
    var charCode = ev.which; //jQuery normalizes ev.charCode to ev.which
    // Lowercase chars
    if (charCode >= 97 && charCode <= 122) {
        CAPS_ON = ev.shiftKey; // Caps are off if SHIFT is not pressed
    } else if (charCode >= 65 && charCode <= 90) {
        CAPS_ON = !ev.shiftKey;
    }
});

这会创建一个变量CAPS_ON,可以在整个页面中使用。

关于代码的进一步说明:

  • 事件必须绑定到keypress事件,因为它是识别小写/大写字符的唯一关键事件。
  • 必须检查shiftKey属性,因为它会反转CAPS LOCK功能。