Пытаюсь интегрировать reCaptcha V3
я пробовал:
<script defer = "defer"
type = "text/javascript"
src = "https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=6Lda2XgUAAAAAKxRqwe9zBL09zv2ja1DYV-r">
</script>
<script type = "text/javascript">
var onloadCallback = function(){
grecaptcha.execute('6Lda2XgUAAAAAKxRaqwev2ja1DYV-r', {action: '/foo/bar/'}).then(function(token) {
alert(token)
});
};
</script>
Но при загрузке страницы я получаю (index):1 Uncaught (in promise) null. Кто-нибудь знает причину и как я могу это исправить?
Обновлено: я поймал эту ошибку:
Uncaught TypeError: grecaptcha.execute(...).then(...).catch is not a function
at onloadCallback ((index):18)
at gf (recaptcha__pl.js:512)
at Gj (recaptcha__pl.js:508)
at recaptcha__pl.js:520
at recaptcha__pl.js:539
onloadCallback @ (index):18
gf @ recaptcha__pl.js:512
Gj @ recaptcha__pl.js:508
(anonymous) @ recaptcha__pl.js:520
(anonymous) @ recaptcha__pl.js:539
(index):1 Uncaught (in promise) null



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


grecaptcha.execute создается в первом скрипте
атрибут defer будет ждать загрузки страницы перед ее выполнением.
Так что удаление отсрочки должно сделать это.
Примечание: defer не отображается в официальной документации по интеграции.
У меня нет defer в моем теге скрипта. Вот как выглядит мой:
<script src = "https://www.google.com/recaptcha/api.js?render=myrecaptchakey"></script>