Google Invisible reCaptcha не работает должным образом - PullRequest
0 голосов
/ 14 октября 2019

У нас есть две формы на целевой странице "Регистрация и вход в систему", и мы должны интегрировать невидимую рекапчу в обе формы.

Ниже приведена загрузка скрипта над закрывающим тегом body:

<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

Формы регистрации и входа визуализируются с помощью модуса начальной загрузки на домашней странице. Итак, я должен управлять обеими формами с помощью одного обратного вызова, упомянутого в скрипте. Иногда это работает, а иногда нет.!

Когда я выполняю приведенный ниже скрипт, он начинает показывать окно вызова, как я уже прикрепил скриншот. setTimeout (function () {grecaptcha.execute (login_captcha);}, 1200);

enter image description here

Ниже приведен мой 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);
    }

Надеюсь, теперь я ясно в своем запросе

Что я делаю не так. Любая помощь будет оценена.

Спасибо

...