查找重新加载验证码的时间


Find when reCAPTCHA is reloaded

我正在对CAPTCHA的可用性进行一些研究,我目前正在研究Google的reCAPTCHA。

我正在尝试计算用户重新加载验证码的次数,因为他无法解决它,但我似乎找不到获取该信息的方法。基本上,每次用户要求新的验证码时,我都想增加一个计数器。我正在使用 JS/PHP。

谢谢。

在 PHP 中由 reCaptcha 注入的 HTML 包含以下用于重新加载按钮的 HTML:

<a title="Get a new challenge" id="recaptcha_reload_btn"><img alt="Get a new challenge" src="http://www.google.com/recaptcha/api/img/red/refresh.gif" id="recaptcha_reload" height="17" width="25"></a>

这意味着您可以向按钮添加 Javascript 事件侦听器并计算单击它的次数。此示例使用 jQuery 递增全局变量:

var recaptcha_reloaded = 0;
$(document).on("click", "#recaptcha_reload_btn", function() {
    recaptcha_reloaded++;
});
捕获

此信息后如何发送此信息取决于您。一种可能性是在提交表单之前将其注入表单上的隐藏输入字段中。

另请注意,这仅计算按钮被单击的次数,而不是实际重新加载的次数。单击验证码重新加载按钮与实际重新加载验证码之间存在延迟,并且此间隔期间的其他单击将被忽略。

$(document).on('click','#recaptcha_reload',function(){
    try {
    _gaq.push(['_trackEvent', location.href,
               'Captcha reload', '']);
    } catch(e) {}
});