Первое замечание, вы должны опубликовать свой код, так как ссылки, как правило, умирают.Во-вторых, при проверке документации говорится, что она называется так:
<script>
grecaptcha.ready(function() {
grecaptcha.execute('site_key', {action: 'homepage'}).then(function(token) {
// ...
});
});
</script>
Так что сначала вы должны вызвать grecaptcha.ready
, до execute
, так, как ввопрос, который вы связали, объявите grecaptcha
вне компонента и вызовите функцию в вашем компоненте:
declare const grecaptcha: any;
// ...
grecaptcha.ready(() => {
grecaptcha.execute('sitekey', { action: 'test' }).then((token) => {
console.log(token);
});
});
Также, когда вы смотрите на grecaptcha, кажется, что вы используете какой-то тестовый ключ, в v 3 выНужно создать свой собственный ключ и добавить домен в отличие от v 2, где вы можете попробовать тестовый ключ, предоставленный Google.
Если вы разрабатываете на localhost, добавьте http://127.0.0.1/
в качестве домена при регистрации, чтобы получить ключи.Из-за этого ограничения я не могу «исправить» предоставленный вами стек-блиц.
Я пробовал приведенный выше код в тестовом проекте, и он прекрасно работал для меня:)