我在我的网站上使用了新的隐形验证码,在主页上我有两个带有验证码验证的表单。
因为我在同一页面中使用了多个 recaptcha,所以我必须使用该方法并将其设置为显式。
无论如何,我失去了一整天的搜索来了解我需要使用 grecaptcha.execute() 才能使其工作,但即使使用它也无法正常工作,我可能做错了什么,但我不知道究竟是什么,这里有一些代码:
<script type="text/javascript" charset="utf-8">
var onloadCallback = function() {
var recaptchas = document.querySelectorAll('div[class=g-recaptcha]');
for( i = 0; i < recaptchas.length; i++) {
grecaptcha.render( recaptchas[i].id, {
'sitekey' : '',
'badge' : 'inline',
'size' : 'invisible'
});
grecaptcha.execute(i);
}
}
</script>
在我使用它的表格中是这样的:
<div class="g-recaptcha" id="rc1"></div>
在页面的末尾:
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
我真的不知道为什么它现在不起作用,我将 grecaptcha.execute 设置为“i”,因为我读过它是一个基于 0 的索引,所以它应该可以工作,但它没有