查找何时重新加载reCAPTCHA

时间:2014-11-27 17:23:53

标签: javascript php captcha recaptcha

我正在研究CAPTCHA的可用性,我目前正在研究Google的reCAPTCHA。

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

感谢。

2 个答案:

答案 0 :(得分:1)

reCaptcha在PHP中注入的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++;
});

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

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

答案 1 :(得分:0)

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