У нас есть две формы на целевой странице "Регистрация и вход в систему", и мы должны интегрировать невидимую рекапчу в обе формы.
Ниже приведена загрузка скрипта над закрывающим тегом body:
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
Формы регистрации и входа визуализируются с помощью модуса начальной загрузки на домашней странице. Итак, я должен управлять обеими формами с помощью одного обратного вызова, упомянутого в скрипте. Иногда это работает, а иногда нет.!
Когда я выполняю приведенный ниже скрипт, он начинает показывать окно вызова, как я уже прикрепил скриншот. setTimeout (function () {grecaptcha.execute (login_captcha);}, 1200);
Ниже приведен мой JS-код:
function loadGoogleCaptcha(captcha_selector){
var onloadCallback = function(captcha_selector) {
if (captcha_selector=='login_captcha'){
login_captcha = grecaptcha.render(captcha_selector, {'sitekey' : sitekey, 'callback' : captchaLoginCallback});
} else if (captcha_selector=='signup_captcha'){
signup_captcha = grecaptcha.render(captcha_selector, {'sitekey' : sitekey, 'callback' : captchaSignupCallback});
}
};
onloadCallback(captcha_selector);
if (captcha_selector=='login_captcha'){
setTimeout(function(){ grecaptcha.execute(login_captcha); }, 1200);
} else if (captcha_selector=='signup_captcha'){
setTimeout(function(){ grecaptcha.execute(signup_captcha); }, 1200);
}
}
function captchaLoginCallback(token){
grecaptcha.execute(login_captcha);
//var captcha_response = grecaptcha.getResponse(login_captcha);
//console.log('Login: '+token+' === '+captcha_response);
}
function captchaSignupCallback(token){
grecaptcha.execute(signup_captcha);
//var captcha_response = grecaptcha.getResponse(signup_captcha);
//console.log('Signup: '+token+' === '+captcha_response);
}
Надеюсь, теперь я ясно в своем запросе
Что я делаю не так. Любая помощь будет оценена.
Спасибо