如何隐藏Google Invisible reCAPTCHA徽章


157

实施新的Google Invisible reCATPTCHA时,默认情况下,您会在屏幕的右下角看到一个“受reCAPTCHA保护”的徽章,该徽章会在您滑过它时弹出。

在此处输入图片说明

我想隐藏这个。

Answers:


217

Google现在允许从FAQ中隐藏徽章:

我想隐藏reCAPTCHA v3徽章。允许什么?

You are allowed to hide the badge as long as you include the reCAPTCHA
branding visibly in the user flow. Please include the following text:

This site is protected by reCAPTCHA and the Google
    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.

例如:

在此处输入图片说明

因此,您可以使用以下CSS简单地将其隐藏:

.grecaptcha-badge { 
    visibility: hidden;
}

在此处输入图片说明不要使用,display: none;因为它似乎禁用了垃圾邮件检查(感谢@Zade)


24
我不敢告诉您该怎么做;)我只是警告其他任何用户,删除它可能是非法的。
Yann39年7

16
这是完全不能接受的,因为在手机等小屏幕上,此徽章覆盖了网页的很大一部分。
Don Dilanga '17

12
接受它,或选择其他服务。Google有权要求您展示其免费服务的品牌。您甚至可以重新设置徽章,使其与developer.google.com/recaptcha/docs/invisible#render_param表单保持一致。
亚历山大·奥塔夫卡

1
好吧,我只在联系人表单页面上使用此验证码v3。所以这是我想要此徽章显示的唯一页面。它不适用于我网站上的其他地方。可能?
安德鲁·特拉

4
@ Yann39-请更新您的答案。可以将其隐藏,例如将其添加到联系页面即可:developers.google.com/recaptcha/docs/faq
Sol

172

我已经测试了所有方法,并且:

警告: display: none禁用垃圾邮件检查!

visibility: hidden并且opacity: 0不要禁用垃圾邮件检查。

使用代码:

.grecaptcha-badge { 
    visibility: hidden;
}

隐藏徽章图标时,Google希望您通过添加以下内容来引用表单上的服务:

<small>This site is protected by reCAPTCHA and the Google 
    <a href="https://policies.google.com/privacy">Privacy Policy</a> and
    <a href="https://policies.google.com/terms">Terms of Service</a> apply.
</small>

结果示例


6
这个答案需要更高!它以简洁的方式包含解决方案的所有必要信息。
比约恩·拉尔森

3
正是我要找的东西,而且效果很好。另外,对于任何希望获得允许的证据的人,请检查此页面(如果您尚未在该SO线程上看到它的全部内容)developers.google.com/recaptcha/docs/faq
Jake

感谢您提及此@Jake。我已将此添加到我的答案中。
Helenesh

有谁找到隐藏徽章而不是css hack的文档化方式?Google提供了一种显示其品牌的替代方法,但我找不到隐藏其徽章的受支持方法。
Collin价格

38

data-badge属性设置为inline

<button type="submit" data-sitekey="your_site_key" data-callback="onSubmit" data-badge="inline" />

并添加以下CSS

.grecaptcha-badge {
    display: none;
}

7
小心; 这似乎禁用了垃圾邮件检查。
Zade

3
这真的会禁用垃圾邮件检查吗?如果是这样,为什么要全部投票?
Charlie

1
@Zade可能改为使用opacity: 0visibility: hidden?您是否也链接到它的统计信息?
ctf0

4
用户协议说,您必须像@ Yann39所说的那样通知用户。
Mihail Minkov '18

1
@Helenesh值得单独回答吗?
阿努帕姆

14

Google现在说:“只要您在用户流中明显包括reCAPTCHA品牌,就可以隐藏徽章。” 链接


2
仅适用于v3!v2仍然需要显示徽章。:(
ADTC

13

由于按照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;
}

我认为这是您可以合法推动的范围。


1
真好 我用它推进一步(实际上没有完全隐藏它)transform: scale(0.6)opacity: 0.6
squarecandy

您是否可以将蓝色横幅打开到右侧而不是左侧?还适应配色方案吗?
Vaishal Patel

@VaishalPatel从理论上讲,是的,但是有两个缺点:首先,Google不鼓励篡改本机徽章设计;其次,对更改进行现有设计的假设越多,解决方案就越脆弱-请牢记Google随时可以随意更改徽章的样式和布局。
克鲁基德

1
@krukid我使用了它们的默认样式内联。
Vaishal Patel

9

我决定在除联系页面之外的所有页面上隐藏徽章(使用Wordpress):

/* Hides the reCAPTCHA on every page */
.grecaptcha-badge {
    visibility: hidden !important;
}

/* Shows the reCAPTCHA on the Contact page */
/* Obviously change the page number to your own */
.page-id-17 .grecaptcha-badge {
    visibility: visible !important;
}

我不是网络开发人员,因此如果出现问题,请纠正我。

编辑:更新为使用可见性而不是显示。


这将起作用,但是page-id-#特定于您的网站,因此使用此页面的任何人都需要调整ID以适合他们要在其上进行显示的页面。|| 我看到有报道说这样做:也将禁用该检查,但我现在不确定。
Michael Tunnell

小心!这将禁用垃圾邮件检查。检查我的答案以获取更多信息
Helenesh

根据Michael&Helenesh
Leon的

4

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>

3

我的解决方案是隐藏徽章,然后在用户将重点放在表单输入上时显示徽章-从而仍然遵守Google的条款和条件。

注意:我正在调整的reCAPTCHA是由WordPress插件生成的,因此您可能需要自己包装reCAPTCHA <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选择器以定位特定的表单。


3

对于Wordpress上的Contact Form 7的用户,此方法对我有用:我将所有页面上的v3 Recaptcha隐藏起来,但那些带有Contact 7 Forms的页面除外。

但是,此方法应该在使用唯一类选择器的任何站点上起作用,该类选择器可以使用文本输入表单元素来标识所有页面。

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

的CSS

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

然后,我在标题中添加了JQuery脚本以在窗口加载后触发,因此JQuery可以使用“ grecaptcha-badge”类选择器,并且可以添加“ hide”类以应用可用的CSS样式。

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

我的磁贴仍然会在每页上闪烁半秒钟,但这是我到目前为止发现的最好的解决方法,我希望它能遵照执行。改进建议表示赞赏。


2

这不会禁用垃圾邮件检查

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

2

如果您使用的是Contact Form 7更新和最新版本(5.1.x版),则需要安装,设置Google reCAPTCHA v3才能使用。

默认情况下,您会在屏幕右下角的每个页面上看到Google reCAPTCHA徽标。根据我们的评估,这给用户带来了糟糕的体验。而且您的网站,博客会变慢一点(按PageSpeed得分反映),因为您的网站将必须从Google加载额外的1个JavaScript库才能显示此标志。

您可以按照以下步骤从CF7隐藏Google reCAPTCHA v3(仅在必要时显示):

首先,打开functions.php主题文件(使用文件管理器或FTP客户端)。该文件位于:,/wp-content/themes/your-theme/并添加以下代码段(我们正在使用此代码在每个页面上删除reCAPTCHA框):

    remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts' );

接下来,您将在要显示Google reCAPTCHA的页面中添加此代码段(联系页面,登录名,注册页面……):

if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
    add_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 10, 0 );
}

在OIW博客上查阅- 如何从WordPress的联系表7中删除Google reCAPTCHA徽标(隐藏reCAPTCHA徽章)


2

是的,您可以做到。您可以使用CSSJavaScript隐藏reCaptcha v3徽章。

  1. CSS方式使用display: nonevisibility: hidden隐藏reCaptcha批处理。简单,快速。
.grecaptcha-badge {
    display:none !important;
}
  1. Javascript方式
var el = document.querySelect('.grecaptcha-badge');
el.style.display = 'none';

根据Google政策,隐藏徽章是有效的,并在此处进行了常见问题解答。建议显示Google的隐私权政策和使用条款,如下所示。

Google政策和使用条款



0

注意:如果您选择隐藏徽章,请使用
.grecaptcha-badge { visibility: hidden; }

只要您在用户流中明显包括reCAPTCHA品牌,就可以隐藏徽章。请包括以下文字:

该网站受reCAPTCHA和Google的保护
<a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a> apply.

在这里查看更多详细信息


-1

Recaptcha联系表7和Recaptcha v3解决方案。

body:not(.page-id-20) .grecaptcha-badge {
    display: none;
}

超过一个联系表单页面?

body:not(.page-id-12):not(.page-id-43) .grecaptcha-badge {
    display: none;
}

如果您有更多联系表单页面,则可以添加更多“ nots”。

body:not(.page-id-45):not(.page-id-78):not(.page-id-98) .grecaptcha-badge {
    display: none;
}

确保您的身体部位会像这样:

<body>

对其进行更改,使其看起来像这样:

 <body <?php body_class(); ?>>

请其他答案,显示为none将禁用垃圾邮件检查。
Helenesh

@Helenesh什么是垃圾邮件检查?它与添加CSS样式有何关系?
Berkant Ipek,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.