2017-10-20 102 views
6

Web sitesinde bazı formlar ve Google görünmez reCAPTCHA var. Zaman zaman bir şeyler ters giderse ve bir uyarı görüntülenir: "reCAPTCHA ile bağlantı kurulamıyor. Bağlantınızı kontrol edip tekrar deneyin." Bu iletileri uyarı işlevini geçersiz kılarak gizlemeyi denedim:Google reCAPTCHA'nın uyarı göstermesini nasıl engellerim?

<script> 
    var _alert = window.alert; 
    window.alert = function(text) { 
     if(text.indexOf("reCAPTCHA") === -1){ 
      _alert(text); 
     } 
     return true; 
    }; 
</script> 

Ancak, çalışmaz. Uyarılar hala gösteriliyor. Bu reCAPTCHA'yı çağırmak için kullandığım kod.

<script> 
    var widgetNewsletter; 
    var widgetRegistration; 
    var captchaCallback = function() { 
     widgetNewsletter = grecaptcha.render('subscriptionSubmit', { 
      'sitekey' : 'MY_SITE_KEY', 
      'callback' : function() { 
       document.getElementById("newsletter-validate-detail").submit(); 
      } 
     }); 
     if(document.getElementById("registerFormSubmit") !== null) { 
      widgetRegistration = grecaptcha.render('registerFormSubmit', { 
       'sitekey' : 'MY_SITE_KEY', 
       'callback' : function() { 
        document.getElementById("form-validate").submit(); 
       } 
      }); 
     } 
    }; 
</script> 
<script src='https://www.google.com/recaptcha/api.js?onload=captchaCallback&render=explicit' async="false" defer></script> 

nasıl görünmesini uyarıları durdurabilir: yerine MY_SITE_KEY gerçek sitesi tuşunu kullanabilirsiniz?

+0

gibi görünecektir: https://stackoverflow.com/questions/48003527/cannot-contact-recaptcha-check-your-connection-and-try-again –

+1

önceki yoruma bağlantı, bu sorunun cevabı değildir. Bu, hatanın meydana gelmesini durdurmakla ilgilidir. Bu soru, hataların bir Uyarı() * yuck! * Olarak görünmesini durdurmakla ilgilidir. – jwinn

cevap

0

document'a göre, render() işlevini çağırdığınızda hata geri bildirimi iletebilirsiniz. Hata geri çağrısı, reCAPTCHA bir hatayla karşılaştığında (genellikle ağ bağlantısı) yürütülür ve bağlantı tekrar kuruluncaya kadar devam edemez. Yani kod bu

widgetNewsletter = grecaptcha.render('subscriptionSubmit', { 
     'sitekey' : 'MY_SITE_KEY', 
     'callback' : function() { 
      document.getElementById("newsletter-validate-detail").submit(); 
     }, 
     'error-callback': function(){ 
      //show error message 
     } 
    }); 
Bu zaten yanıtlandı