Javascript 你如何通过谷歌分析追踪Caps Lock用户?

Javascript 你如何通过谷歌分析追踪Caps Lock用户?,javascript,jquery,google-analytics,Javascript,Jquery,Google Analytics,我喜欢使用Google Analytics和我能够分割访客信息的方式。我们使用客户变量来跟踪用户与我们的网站互动的人和方式。坚持分析的目标,我们一直在寻找改进和优化网站的方法 目前,我们正处于开发阶段,可以选择如何存储和呈现产品信息。出现的问题之一是是否在所有CAP中显示产品信息。在过去的几年里,我们与用户一起工作,似乎我们的大部分流量都来自于那些有封顶的访客。因此,它让我们思考,我们是否可以使用客户变量跟踪caps lock用户,以便对如何呈现信息做出更明智的决定 看看我拼凑的这个样本: 我们

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

目前,我们正处于开发阶段,可以选择如何存储和呈现产品信息。出现的问题之一是是否在所有CAP中显示产品信息。在过去的几年里,我们与用户一起工作,似乎我们的大部分流量都来自于那些有封顶的访客。因此,它让我们思考,我们是否可以使用客户变量跟踪caps lock用户,以便对如何呈现信息做出更明智的决定

看看我拼凑的这个样本:

我们的网站基本上代表了一个标准的电子商务网站。有几个不同的文本框,允许您搜索零件号,在整个订购过程中,有几个地方用户可以键入文本。您是将大写锁定测试绑定到所有文本框还是仅绑定到普通文本框?如果我将按键侦听器绑定到站点上的所有文本框,是否会对性能造成影响,或者可以忽略不计?有没有更好的方法来实现这一点

我想,与其显示/隐藏div,不如设置自定义变量:

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

感谢您对这个看似琐碎的话题的思考和考虑。

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

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;
    }
});
var CAPS\u ON=null;
$(窗口)。按键(功能(ev){
var charCode=ev.which;//jQuery将ev.charCode规范化为ev.which
//小写字符

如果(charCode>=97&&charCode=65&&charCode为什么你需要知道他们是否按下了caps lock?在数据库中搜索之前,只需使用strtolower函数。@ted,这不是我们如何处理他们搜索的数据的问题。本着分析的精神,我们只是试图捕获有多少用户使用caps lock而不是thos访问我们的网站为capslockusers添加一个var的惊人之处,+1。至少我可以想象,将文本转换为大写字母会增加任何人的幸福感。当然,这需要用户按一个键。但这是无法回避的。你可能想用
$(window.one('keypress',…)绑定它
为了避免每次按键的开销。@MichaelMior如果只需要知道初始大写锁定状态,这是一个很好的提示。但是,当您对提交表单时的状态感兴趣时,应该使用当前的方法。@Michael Mior,这是一个很好的评论,但我们的大多数访问者都会在我们的网站上搜索。很多时候,他们的search项以数字开头。上面的代码看起来只捕获a-z和a-z,所以如果搜索项的第一个字母是数字,我们就不会得到最准确的数字information@RobW当然。虽然如果这是你感兴趣的一种特殊形式,那么你可能只想听那种形式的按键。这个答案是可以接受的这是在调用跟踪代码之前设置变量的最佳方法。