我正在尝试集成reCaptcha V3
我尝试的是:
return (Function)factory.bindTo(instance).invokeExact();
但是在加载页面上,我得到<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
答案 0 :(得分:2)
grecaptcha.execute在第一个脚本中创建
defer属性将在执行页面之前等待页面加载。
因此,应删除延迟。
注意:延迟未出现在官方集成文档中
答案 1 :(得分:-1)
这很可能是与在未经验证的域上使用此错误相关的错误。例如,默认情况下不允许localhost。您需要将当前域添加到Recaptcha控制面板中的域列表中。