【发布时间】: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