我有一个简单的联系人表单与ASP .Net建立使用更新面板。一切正常,但我看到了错误
重新验证码
_
_
en.js:未捕获错误:已在此元素中呈现reCAPTCHA
在控制台窗口中
function pageLoad() {
$('.g-recaptcha').each(function (index, obj) {
grecaptcha.render(obj, { 'sitekey': 'XXXX' });
});
}我最初添加了
就好像验证码没有被选中,而你点击了发送按钮,验证码就消失了。添加
到脚本行解决了这个问题,但现在我得到了上面的错误。
如果我尝试删除一些元素,那么会出现其他问题,例如验证码不显示或在回发时不显示?
发布于 2019-08-14 02:29:07
几天前,我在动态登录和创建表单时遇到了同样的问题。原因是我在同一个元素上渲染了两次。
Google ReCaptcha抛出一个异常来通知所述问题。
我的解决方案是使用
作为的包装器
try{
grecaptcha.render('elementID', {
'sitekey' : 'key',
'badge' : 'att',
'size' : 'att',
'tabindex' : 0,
'callback' : function(token) {
//..
},
'expired-callback' : function() {
//...
},
'error-callback' : function() {
//...
},
'isolated' : false
});
}catch(error){/*possible duplicated instances*/}`发布于 2021-02-28 20:17:59
对于那些在Firebase中使用React的用户,如果发生此错误,您只需在卸载组件时销毁Recaptcha实例即可。
useEffect(() => {
const verifier = new firebase.auth.RecaptchaVerifier(element.current, {
size: "invisible",
});
if (!recaptcha) {
verifier.verify().then(() => setRecaptcha(verifier));
}
return () => {
verifier.clear()
}
});https://stackoverflow.com/questions/54110489
复制相似问题