在实现新的谷歌Invisible reCATPTCHA时,默认情况下,当你滚动屏幕时,屏幕右下方会弹出一个小的“受reCAPTCHA保护”徽章。

我想把这个藏起来。


当前回答

由于隐藏徽章并不是真正合法的根据TOU,现有的放置选项破坏了我的UI和/或UX,我想出了以下自定义,模仿固定定位,但取而代之的是内联渲染:

你只需要在你的徽章容器上应用一些CSS:

.badge-container {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  width: 70px;
  height: 60px;
  margin: 0 auto;
  box-shadow: 0 0 4px #ddd;
  transition: linear 100ms width;
}
.badge-container:hover {
    width: 256px;
}

我想这是你合法能做到的极限了。

其他回答

我看到了下一个关于这个的评论

如果您想将自己的CSS应用到徽章上,那么将徽章内联放置也很有帮助。但是请记住,当您注册API密钥时,您同意显示谷歌的条款和条件-所以请不要隐藏它。虽然可以用CSS让徽章完全消失,但我们不推荐这样做。

对于在Wordpress上使用Contact Form 7的用户来说,这个方法对我来说是有效的: 我隐藏v3 Recaptcha在所有页面上,除了那些与联系7表格。

但是这种方法应该适用于任何使用唯一类选择器的站点,该类选择器可以识别带有文本输入表单元素的所有页面。

首先,我在CSS中添加了一个目标样式规则,可以折叠瓷砖:

CSS

 div.grecaptcha-badge.hide{
    width:0 !important;
}

然后我在我的头部添加了JQuery脚本,在窗口加载后触发,这样'grecaptcha-badge'类选择器就可以使用JQuery,并且可以添加'hide'类来应用可用的CSS样式。

$(window).load(function () { 
    if(!($('.wpcf7').length)){ 
      $('.grecaptcha-badge').addClass( 'hide' );
       }
});

我的瓷砖仍然会在每一页上闪烁半秒钟,但这是我迄今为止发现的最好的解决办法,我希望能遵守。欢迎提出改进建议。

由于隐藏徽章并不是真正合法的根据TOU,现有的放置选项破坏了我的UI和/或UX,我想出了以下自定义,模仿固定定位,但取而代之的是内联渲染:

你只需要在你的徽章容器上应用一些CSS:

.badge-container {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
  width: 70px;
  height: 60px;
  margin: 0 auto;
  box-shadow: 0 0 4px #ddd;
  transition: linear 100ms width;
}
.badge-container:hover {
    width: 256px;
}

我想这是你合法能做到的极限了。

我的解决方案是隐藏徽章,然后在用户关注表单输入时显示它——因此仍然遵循谷歌的t&c。

注意:我调整的reCAPTCHA是由WordPress插件生成的,所以你可能需要用<div class="inv-recaptcha-holder">…< / div >自己。

CSS

.inv-recaptcha-holder {
  visibility: hidden;
  opacity: 0;
  transition: linear opacity 1s;
}

.inv-recaptcha-holder.show {
  visibility: visible;
  opacity: 1;
  transition: linear opacity 1s;
}

jQuery

$(document).ready(function () {
  $('form input, form textarea').on( 'focus', function() {
    $('.inv-recaptcha-holder').addClass( 'show' );
  });
});

显然,如果需要,您可以更改jQuery选择器以针对特定的表单。

Matthew Dowell的帖子略有变化,避免了短闪光,但在接触形式7可见时显示:

div.grecaptcha-badge{
    width:0 !important;
}

div.grecaptcha-badge.show{
    width:256px !important; 
}

然后,我在子主题的header.php中添加了以下内容:

<script>
jQuery( window ).load(function () { 
    if( jQuery( '.wpcf7' ).length ){ 
        jQuery( '.grecaptcha-badge' ).addClass( 'show' );
    }
});
</script>