Я полагаю, что эта ошибка возникает, когда reCaptcha api.js загружается, но ваш контейнер еще не представлен на странице (по крайней мере, для v2).Эта ошибка возникала в приложении React при переходе на страницу, а не при ее загрузке в качестве первого.Вместо использования render=explicit
и использования глобального пространства имен onLoadCallback
я смог разрешить его, вручную отобразив элемент капчи.
Вместо создания <div class="g-recaptcha"></div>
присвойте контейнеру div только идентификатор (<div id="recaptcha-container"></div>
) и отобразите его в своем коде JS (например, в componentDidMount
для приложения React):
grecaptcha.ready(function() {
grecaptcha.render("recaptcha-container", {
"sitekey": "your-site-key"
});
});