我想呈现没有onload回调的recaptcha元素。我有一个没有<form>的页面。他们在保存到数据库之前使用jquery从输入字段中获取值,所以我想在保存之前获得响应。

HTML头:

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


身体:

<div id="googleQuoteRecapture"></div>


JS内document.ready:

var widget = document.getElementById('googleQuoteRecapture')
var widgetId1 = grecaptcha.render(widget, {
  'sitekey' : 'site_key',
  'theme' : 'light'
});



  未捕获的ReferenceError:未定义grecaptcha


目的是grecaptcha.getResponse(widgetId1)

这可能吗?

最佳答案

您可以使用间隔来检查grecaptcha变量的存在。

这是一个例子:



var interval = setInterval(function(){
  if(window.grecaptcha){
    var widget = document.getElementById('googleQuoteRecapture')
    var widgetId1 = grecaptcha.render(widget, {
      'sitekey' : 'site_key',
      'theme' : 'light'
    });
    clearInterval(interval);
  }
}, 100);





但是使用onloadCallback参数要容易得多。

09-25 15:07