从文档中我了解到,为了更改Recaptcha的语言,我必须显式呈现它。

问题是,它实际上并没有显示出来,甚至没有调用onload
当我尝试自动渲染时,它确实可以工作。

这是代码:
在HTML头中:(我也尝试过将其放在body标签的末尾)

<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit&hl=iw" async defer></script>

在HTML格式中:
<div id="recaptcha"></div>

Javascript:
var recaptchaCallback = function() {
  console.log('recaptcha is ready'); // not showing
  grecaptcha.render("recaptcha", {
    sitekey: 'My Site Key',
    callback: function() {
      console.log('recaptcha callback');
    }
  });
}

最佳答案

我只是复制了您的代码,使用了自己的站点密钥,所以它可以正常工作。

我使用的代码是:

<html>
  <body>
    <p>ReCaptcha Test</p>

    <div id="recaptcha"></div>

    <script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit&hl=iw" async defer></script>

    <script type="text/javascript">
      var recaptchaCallback = function () {
        console.log('recaptcha is ready'); // showing
        grecaptcha.render("recaptcha", {
            sitekey: 'SITE_KEY',
            callback: function () {
                console.log('recaptcha callback');
            }
        });
      }
    </script>

  </body>
</html>

请仔细检查您的代码,因为只有一个字符的错字可能会阻止工作。

关于javascript - 显式呈现ReCaptcha-加载功能未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30262208/

10-10 21:44