javascript - Invisible recaptcha是可见的

标签 javascript html recaptcha

我有一个不可见的 recaptcha,它可以工作,但对所有用户来说都是完全可见的。我的意思是:

enter image description here

我的控制台说:

Uncaught Error: Missing required parameters: sitekey
at new jl (VM19165 recaptcha__ru.js:575)
at new $Y (VM19165 recaptcha__ru.js:584)
at mt (VM19165 recaptcha__ru.js:599)
at VM19165 recaptcha__ru.js:590
at Array.forEach (<anonymous>)
at hE (VM19165 recaptcha__ru.js:590)
at rI (VM19165 recaptcha__ru.js:593)
at ib (VM19165 recaptcha__ru.js:585)
at VM19165 recaptcha__ru.js:600
at VM19165 recaptcha__ru.js:620

我的js代码是:

function onSubmit(token) {
alert('thanks ' + document.getElementById('fields[Email]').value);
}

function validate(event) {
event.preventDefault();
grecaptcha.execute();
}

function onload() {
var element = document.getElementById('submit');
element.onclick = validate;
}


<script src="https://www.google.com/recaptcha/api.js" async defer></script>

而 html 是:

    <input type="text" id="fields[Email]" value="" name="fields[Email]" class="add_field" placeholder="Email" />
<div id='recaptcha' class="g-recaptcha" data-sitekey="6LcaXXXXXXXXXXXXXXXcTqa9o5k"  data-callback="onSubmit" data-size="invisible">
  </div>
</div>
</div>
<div class="col-bs">   
  <button type='submit' id='submit' class="sub-rassilka" >SUBMIT</button>
  </div>

有什么问题,我错过了什么?

UPD:我将 api 行更改为这一行,但在控制台中出现相同的错误并且 recapcha 仍然显示自己

<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_6LcaXXXXXXXXXXXXXXXcTqa9o5k" async defer></script>

最佳答案

当您通过此行获取 api 时:

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

您不会像这样传递您的站点 key :

<script src="https://www.google.com/recaptcha/api.js?render=site_key" async defer></script>

引用:reCAPTCHA v3

您可以获得站点 key here


当你这样做时:

grecaptcha.execute()

您还需要传递站点 key ,例如:

  grecaptcha.execute('site_key', {action: 'homepage'}).then(function(token) {
     ...
  });

source

关于javascript - Invisible recaptcha是可见的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54746345/

相关文章:

Javascript:减少输入字段表单验证中的空格

jquery - 从 Calendario.js 中删除事件

ruby-on-rails - 如何让 Ambethia Recaptcha 与 simple_form .error_notification 一起使用?

javascript - 以 Node 作为*客户端*的长轮询流数据

python - 处理 PDF 以进行信息提取

javascript - 使用 `Object.create` 进行继承的好处

jquery - reCAPTCHA session 过期时触发事件

jquery - Google reCaptcha 未在客户端验证

javascript - 如何完全删除具有所有功能甚至包括 setInterval 的 nodejs 模块?

javascript - 延迟加载和依赖解析