Я изучаю юзабилити CAPTCHA и сейчас смотрю на reCAPTCHA от Google.
Я пытаюсь подсчитать, сколько раз пользователь перезагружал CAPTCHA, потому что он не мог ее решить, но я не могу найти способ получить эту информацию.
По сути, каждый раз, когда пользователь запрашивает новую капчу, я хотел бы увеличить счетчик.
Я использую JS / PHP.
Благодарю.
HTML-код, введенный reCaptcha в PHP, содержит следующий 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) {}
});