javascript - 如何阻止 Google reCAPTCHA 显示警报?

标签 javascript html recaptcha invisible-recaptcha

我在网站上有一些表格和谷歌不可见的验证码。有时会出现问题并显示警告:“无法联系 reCAPTCHA。请检查您的连接并重试。”。我试图通过覆盖警报功能来隐藏这些消息:

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

但是,它不起作用。警报仍然显示。 这是我用来调用 reCAPTCHA 的代码。我使用真实站点 key 而不是 MY_SITE_KEY:

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

如何停止显示警报?

最佳答案

根据document , 你可以在调用 render() 函数时传递错误回调。当 reCAPTCHA 遇到错误(通常是网络连接)并且在连接恢复之前无法继续时,将执行错误回调。所以你的代码看起来像这样

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

关于javascript - 如何阻止 Google reCAPTCHA 显示警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46847774/

相关文章:

javascript - 将逻辑 NOT 应用于 propEq 并在 ramda 中进行过滤

javascript - 当我跳出循环时,如何打破循环?

html - xpath在排除某些子项后选择带有空白文本()的父项

php - 如何制作一个表格,连续打印数据库中所有相同的列?

html - 父内容高度不随标签内容高度扩展

javascript - InvalidCharacterError recaptcha__en.js

javascript - 为什么 Internet Explorer 在使用 event.preventDefault() 或返回 false 时在函数后停止

JQuery mCustomScrollbar autoScrollOnFocus

jquery - ReCAPTCHA找不到用户提供的函数: myCallBack

javascript - 使用javascript制作二十一点程序,无法将一副牌(obJ)的顶牌(obj)拼接到手上