渲染Google Recaptcha而不回拨

时间:2018-04-13 15:55:45

标签: javascript recaptcha

我想在没有onload回调的情况下渲染recaptcha元素。我有一个没有<form>的页面。在保存到数据库之前,他们使用jquery从输入字段中获取值,因此我希望在保存之前得到响应。

HTML头:

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

BODY:

<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)

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用间隔检查是否存在grecaptcha变量。

以下是一个例子:

&#13;
&#13;
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);
&#13;
&#13;
&#13;

但使用onloadCallback参数更容易。