有时我必须多次重新加载网页,直到reCaptcha被渲染.我和一位朋友在Firefox和Chrome上都进行过测试,但问题是一致的,似乎并不依赖于使用过的浏览器.
<script src='https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit' async defer></script> <script> var CaptchaCallback = function(){ grecaptcha.render('RecaptchaField1',{'sitekey' : '6LdbWAo..'}); grecaptcha.render('RecaptchaField2',{'sitekey' : '6LfAVAo..'}); grecaptcha.render('RecaptchaField3',{'sitekey' : '6LfqWwo..'}); grecaptcha.render('RecaptchaField4',{'sitekey' : '6Lf4sAo..'}); };
后来在我刚添加的表格中:< div id =“RecaptchaField1”>< / div>正确的号码.
如果关心的话,表格总是在bootstrap模式中?
编辑2:
有问题的页面:http://www.dexquote.com
解决方法
当我在隐藏div(例如模态)上初始化地图时,谷歌地图中出现了这个问题.
我通过从页面加载中删除初始化来解决这个问题,并在显示模式时初始化每个验证码:
我通过从页面加载中删除初始化来解决这个问题,并在显示模式时初始化每个验证码:
$(document).ready(function () { $('#loginModal').on('shown.bs.modal',function () { grecaptcha.render('RecaptchaField1',{'sitekey': '6LdbWAoTAAAAAPvS9AaUUAnT7-UKQMxz6vY4nonV'}); }) $('#loginModal').on('hide.bs.modal',function () { $("#RecaptchaField1").empty(); }) });