我正在研究CAPTCHA的可用性,我目前正在研究Google的reCAPTCHA。
我正在尝试计算用户重新加载验证码的次数,因为他无法解决,但我似乎无法找到获取该信息的方法。 基本上,每次用户要求新的CAPTCHA时,我都想增加一个计数器。 我正在使用JS / PHP。
感谢。
答案 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) {}
});