Мы пытаемся внедрить новую reCAPTCHA Google на нашем веб-сайте, однако, когда мы пытаемся загрузить обратный вызов с помощью функции с именами, обратный вызов не запускается.
Изменение обратного вызова, чтобы не использовать обратный вызов, работает правильно. Мы делаем что-то подобное с API Карт Google, который отлично работает.
Есть ли способ обойти это, или это ограничение новой системы recaptcha google?
код
<script>
var namespace = {};
namespace.captcha = function() {
alert("Hello world!")
};
</script>
<script src="//www.google.com/recaptcha/api.js?onload=namespace.captcha&render=explicit" async defer></script>
Проблема в том, что мы хотим сохранить весь наш код, завернутый в сценарии с расширением имен, используя раскрывающий модульный шаблон. Путь к этому заключается в создании глобальной переменной и использовании этого в качестве обратного вызова, но он не оставляет того, на что я надеялся.
Глобальный обратный вызов
<script>
var namespace = {};
namespace.captcha = (function() {
function call() {
alert("Hello world!")
};
window.callback = namespace.captcha.call;
return call:call;
})();
</script>
<script src="//www.google.com/recaptcha/api.js?onload=callback&render=explicit" async defer></script>