【问题标题】:Uncaught (in promise) Error: reCAPTCHA placeholder element must be an element or id未捕获(承诺中)错误:reCAPTCHA 占位符元素必须是元素或 id
【发布时间】:2020-05-05 14:33:29
【问题描述】:

我在这里发现了类似的问题,但我检查了所有建议的内容,但找不到问题。 在页面 https://www.basement-supercomputing.com/create-an-account/ 我有 JavaScript 错误

未捕获(承诺中)错误:reCAPTCHA 占位符元素必须是元素或 id

据我所知,这表明 reCaptcha 没有找到将自身添加到页面上的元素。但是,如果我检查页面源,我可以看到 HTML 标记: https://monosnap.com/file/PeYWAw7wfSENan2At5VaGQ1ghErqhb

<div class="recaptcha controls">
    <div id="hika-recaptcha" class="hika-recaptcha"></div>
    <script type="text/javascript">
        var onloadCallbackHKRecaptcha = function() {
            window.hkCaptchaWidget = grecaptcha.render('hika-recaptcha', {'sitekey':'6LeexMISAAAAAIVTKhGZyvOmfc4s7Fqh-xo2a6t8', 'theme':'light'});

        };
        var scriptTag = document.createElement('script');
        scriptTag.src = "https://www.google.com/recaptcha/api.js?onload=onloadCallbackHKRecaptcha&render=explicit&hl=en-GB";
        scriptTag.defer = true;
        document.body.appendChild(scriptTag);
    </script>
</div>

我还了解到,如果有多个标签具有相同的 id(不是这种情况),或者如果在页面上多次加载 recaptcha(也不是这种情况),可能会发生这种错误。 如果在页面上添加标签之前运行 javascript,但标签已经存在,甚至在页面上 recaptcha 的 javascript 之前运行,也可能发生这种情况。 我还在 localhost 上检查了相同的 ReCaptcha 代码,它工作得很好: https://monosnap.com/file/2g0AgAWducwtjchIoC3Sf3uFxRuE3B 最后,请注意,在这两种情况下,网站都是使用 Joomla CMS 制作的。

我看不出它为什么不起作用的任何原因,所以如果有人有想法,那就太好了! 提前致谢

【问题讨论】:

    标签: javascript html joomla recaptcha


    【解决方案1】:

    我自己也遇到过这个问题。查看堆栈跟踪,您似乎正在使用 moo 工具(我也是)。看来,如果您删除它或更新 moo 工具,它应该可以解决 recaptcha 错误。感谢这里的另一个类似帖子:Recaptcha 2.0 error: reCAPTCHA placeholder element must be an element or id

    【讨论】:

    • 谢谢,确实是mootools。
    猜你喜欢
    • 2017-04-29
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2021-02-04
    • 2018-03-21
    • 1970-01-01
    • 2018-01-24
    相关资源
    最近更新 更多