【问题标题】:Uncaught Error: ReCAPTCHA placeholder element must be empty未捕获的错误:ReCAPTCHA 占位符元素必须为空
【发布时间】:2016-09-14 19:21:23
【问题描述】:

我在浏览器控制台中遇到下面提到的错误。我在 wordpress 网站中使用过 Contact form 7 和 Google Captcha。

(1) 未捕获错误:ReCAPTCHA 占位符元素必须为空 (2) 未捕获的错误:无效的recaptcha client id: undefined

请帮我解决这些问题。

【问题讨论】:

    标签: wordpress contact-form-7 recaptcha


    【解决方案1】:

    这是旧的,可​​能是重复的,但这是我发现试图解决我的问题的页面,所以我想我会在这里添加一些答案。

    我收到“ReCAPTCHA 占位符元素必须为空”错误,这是因为 recaptcha 脚本被多次调用。我能够通过对 recaptcha 的 onload 事件的自定义回调来解决这个问题:

    var recaptchacalls = 0;
    
    var onloadCallback = function(e) {
    
      grecaptcha.render('cap-' + recaptchacalls, {
        'sitekey' : '<SITE_KEY_HERE>'
      });
    
      recaptchacalls++;
    };
    

    记下脚本被调用的次数,使用它作为我们需要为空的特定容器的唯一标识符。

    我冒昧地猜测另一个错误是相关的,多次调用中的非特定标识符导致对错误对象尝试操作。

    【讨论】:

      【解决方案2】:

      &lt;head&gt;&lt;/head&gt; 中删除它。这是多余的。

      <script src='https://www.google.com/recaptcha/api.js'></script>
      

      【讨论】:

      • 同样加载库两次会导致错误,所以只需从文件中删除上述引用即可。
      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 2018-08-13
      • 2016-02-07
      相关资源
      最近更新 更多