Javascript 是否可以检测是否向用户显示了不可见的Recaptcha?
在我的网页中,我通过调用函数Javascript 是否可以检测是否向用户显示了不可见的Recaptcha?,javascript,recaptcha,invisible-recaptcha,Javascript,Recaptcha,Invisible Recaptcha,在我的网页中,我通过调用函数grecaptcha.execute(),基于不可见的Recaptcha验证表单。通常情况下,这对用户来说是不可见的;他们看到的只是在grecaptcha验证完成后触发的表单提交 有时,会触发不太可见的Recaptcha行为(例如,如果用户行为可疑),并向用户显示他们必须解决的常规验证码。当这种情况发生时,我希望通过编程来检测它 调用grecaptcha.execute(),是否可以通过编程方式发现是否向用户显示了验证码? 到目前为止,我已经尝试使用Mutation
grecaptcha.execute()
,基于不可见的Recaptcha验证表单。通常情况下,这对用户来说是不可见的;他们看到的只是在grecaptcha
验证完成后触发的表单提交
有时,会触发不太可见的Recaptcha行为(例如,如果用户行为可疑),并向用户显示他们必须解决的常规验证码。当这种情况发生时,我希望通过编程来检测它
调用grecaptcha.execute()
,是否可以通过编程方式发现是否向用户显示了验证码?
到目前为止,我已经尝试使用
MutationEvents
和mutationobserver
观察DOM。不幸的是,所有有趣的事情都发生在iframe
中,似乎无法判断是否显示了完整的验证码
我不想测量grecaptcha
调用我给它的回调需要多长时间,因为这样做不可靠(例如,移动连接速度慢会影响结果)
标记:
<form id="form" method="post" action="/form">
Name: (required) <input id="name" name="name">
<div id="g-recaptcha-div"
class="g-recaptcha"
data-sitekey="keeeey"
data-callback="onRecaptchaDone"
data-size="invisible"></div>
<button id="thebutton">Submit</button>
</form>
您是如何使用recaptcha的,在提交时是否有针对recaptcha的回调?你觉得怎么样?是的,对不起,我有回电话。它使用recaptcha API提供的令牌进行调用。但无论是否显示验证码,每次都会以相同的方式调用它。你能在这里显示你的代码吗?初始化recaptcha?我的意思是,你在使用
grecaptcha.render(…)
?我已经把它添加到问题中了。我使用的是不可见的API,所以没有调用render
。在表单提交方法中执行grecaptcha.execute()
在哪里?
function onSubmit(event) {
event.preventDefault();
grecaptcha.reset();
grecaptcha.execute();
}
function onRecaptchaDone(token) {
form.submit();
}
window.onload = function() {
form.onsubmit = onSubmit;
}