วิธีซ่อนตรา reCAPTCHA ของ Google Invisible


158

เมื่อใช้งาน reCATPTCHA ที่มองไม่เห็นของ Google ใหม่โดยค่าเริ่มต้นคุณจะได้รับตรา "ป้องกันโดย reCAPTCHA" เล็กน้อยที่ด้านล่างขวาของหน้าจอที่ปรากฏขึ้นเมื่อคุณเลื่อนไป

ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องการซ่อนสิ่งนี้

คำตอบ:


219

Google อนุญาตให้ซ่อนตราจากคำถามที่พบบ่อย :

ฉันต้องการซ่อนป้าย 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

16
สิ่งนี้ไม่สามารถยอมรับได้อย่างสมบูรณ์เพราะในหน้าจอขนาดเล็กเช่นโทรศัพท์มือถือป้ายนี้จะครอบคลุมพื้นที่สำคัญของหน้าเว็บ
Don Dilanga

12
ยอมรับหรือเลือกบริการอื่น Google มีสิทธิ์ที่จะกำหนดให้คุณต้องแสดงตราสินค้าสำหรับบริการฟรีของพวกเขา คุณยังสามารถเปลี่ยนตำแหน่งของป้ายที่จะใกล้เคียงกับรูปแบบdevelopers.google.com/recaptcha/docs/invisible#render_param
Alexander Otavka

1
ฉันใช้ captcha v3 นี้ในหน้าแบบฟอร์มผู้ติดต่อของฉันเท่านั้น นี่คือหน้าเดียวที่ฉันต้องการให้ตรานี้แสดง มันไม่ได้ใช้ที่อื่นในเว็บไซต์ของฉัน ไปได้หรือไม่
Andrew Truckle

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
คำตอบนี้จะต้องสูงขึ้น! มันมีข้อมูลที่จำเป็นทั้งหมดสำหรับการแก้ปัญหาในลักษณะที่รวบรัด
Björn Larsson

3
สิ่งที่ฉันกำลังมองหาและสิ่งนี้ใช้งานได้ดี นอกจากนี้สำหรับผู้ที่กำลังมองหาหลักฐานว่าได้รับอนุญาตโปรดตรวจสอบหน้านี้ (หากคุณยังไม่เคยเห็นมันมาเลยในเธรด SO นี้) Developers.google.com/recaptcha/docs/faq
Jake

ขอบคุณที่พูดถึง @Jake นี้ ฉันได้เพิ่มสิ่งนี้ในคำตอบของฉัน
Helenesh

มีใครพบวิธีที่เป็นเอกสารของการซ่อนตราแทนที่จะเป็น CSS css? 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
นี่เป็นการปิดการใช้งานการตรวจสอบสแปมจริงๆหรือ ถ้าเป็นเช่นนั้นทำไม upvotes ทั้งหมด?
Charlie Schliesser

1
@ Zade อาจจะใช้แทนopacity: 0หรือvisibility: hidden? คุณมีลิงค์ไปยังที่หรือไม่
ctf0

4
ข้อตกลงผู้ใช้บอกว่าคุณต้องแจ้งผู้ใช้ตามที่ @ Yann39 กล่าวไว้ข้างต้น
Mihail Minkov

1
@Helenesh คุ้มค่าคำตอบแยกต่างหาก
Anupam

14

Google กล่าวว่า "คุณได้รับอนุญาตให้ซ่อนตราตราบใดที่คุณรวมตราสินค้า reCAPTCHA อย่างเห็นได้ชัดในกระแสผู้ใช้" ลิงค์


2
ใช้ได้กับ v3 เท่านั้น! v2 ยังคงต้องแสดงตรา :(
ADTC

13

เนื่องจากการซ่อนตราสัญลักษณ์นั้นไม่ถูกต้องตาม TOU และตัวเลือกตำแหน่งที่มีอยู่นั้นกำลังทำลาย UI และ / หรือ UX ของฉันฉันจึงได้รับการปรับแต่งดังต่อไปนี้ซึ่งเลียนแบบการวางตำแหน่งคงที่ แต่แสดงแบบอินไลน์แทน:

"captcha" ที่มองไม่เห็นยุบได้

คุณต้องใช้ 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 และประการที่สองยิ่งคุณมีข้อสมมติฐานเกี่ยวกับการออกแบบที่มีอยู่ในการเปลี่ยนแปลงของคุณมากเท่าไร มีอิสระในการเปลี่ยนรูปแบบและรูปแบบตราสัญลักษณ์เมื่อใดก็ตามที่รู้สึกว่าต้องการ
krukid

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

ฉันไม่ใช่นักพัฒนาเว็บดังนั้นโปรดแก้ไขให้ฉันถ้ามีสิ่งผิดปกติ

แก้ไข: อัปเดตเพื่อใช้การมองเห็นแทนการแสดงผล


สิ่งนี้จะทำงานได้ แต่รหัสหน้าเฉพาะสำหรับเว็บไซต์ของคุณดังนั้นใครก็ตามที่ใช้สิ่งนี้จะต้องปรับเปลี่ยนรหัสเพื่อให้พอดีกับหน้าที่ต้องการแสดงบนหน้าจอ || ฉันเคยเห็นรายงานที่บอกว่ากำลังทำสิ่งนี้อยู่: ไม่มี; จะปิดการใช้งานการตรวจสอบด้วย แต่ฉันไม่แน่ใจในตอนนี้
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

สำหรับผู้ใช้แบบฟอร์มการติดต่อ 7 บน Wordpress วิธีนี้ใช้ได้กับฉัน: ฉันซ่อน v3 Recaptcha ในทุกหน้ายกเว้นผู้ที่มีแบบฟอร์มการติดต่อ 7

แต่วิธีนี้ควรทำงานกับไซต์ใด ๆ ที่คุณใช้ตัวเลือกคลาสที่ไม่ซ้ำกันซึ่งสามารถระบุหน้าทั้งหมดที่มีองค์ประกอบแบบฟอร์มป้อนข้อความ

ก่อนอื่นฉันเพิ่มกฎสไตล์เป้าหมายใน CSS ซึ่งสามารถยุบไทล์ได้:

CSS

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

จากนั้นฉันเพิ่มสคริปต์ JQuery ในส่วนหัวของฉันเพื่อทริกเกอร์หลังจากหน้าต่างโหลดดังนั้นตัวเลือกคลาส 'grecaptcha-badge' พร้อมใช้งานกับ JQuery และสามารถเพิ่มคลาส 'ซ่อน' เพื่อใช้สไตล์ CSS ที่มีอยู่

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

ไทล์ของฉันจะยังคงกระพริบทุกหน้าเป็นเวลาครึ่งวินาที แต่มันเป็นวิธีแก้ปัญหาที่ดีที่สุดที่ฉันพบมาจนฉันหวังว่าจะปฏิบัติตาม ข้อเสนอแนะสำหรับการปรับปรุงชื่นชม


2

นี่ไม่ได้ปิดการใช้งานการตรวจสอบสแปม

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

2

หากคุณกำลังใช้การอัปเดตฟอร์มติดต่อ 7 และเวอร์ชันล่าสุด (เวอร์ชัน 5.1.x) คุณจะต้องติดตั้งและตั้งค่า Google reCAPTCHA v3 ใหม่เพื่อใช้งาน

โดยค่าเริ่มต้นคุณจะได้รับโลโก้ Google reCAPTCHA บนทุกหน้าทางด้านล่างขวาของหน้าจอ นี่เป็นไปตามการประเมินของเราคือการสร้างประสบการณ์ที่ไม่ดีสำหรับผู้ใช้ และเว็บไซต์ของคุณบล็อกจะชะลอตัวลงเล็กน้อย (สะท้อนจากคะแนน PageSpeed) โดยเว็บไซต์ของคุณจะต้องโหลดไลบรารี JavaScript 1 ไลบรารีเพิ่มเติมจาก Google เพื่อแสดงตรานี้

คุณสามารถซ่อน Google reCAPTCHA v3 จาก CF7 (แสดงเฉพาะเมื่อจำเป็น) โดยทำตามขั้นตอนเหล่านี้:

ขั้นแรกให้คุณเปิดfunctions.phpไฟล์ของธีมของคุณ (โดยใช้ File Manager หรือ FTP Client) ไฟล์นี้อยู่ใน: /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 - วิธีลบโลโก้ Google reCAPTCHA ออกจากแบบฟอร์มการติดต่อ 7 ใน WordPress (ซ่อนป้าย reCAPTCHA)


2

ใช่คุณสามารถทำมันได้ คุณสามารถใช้cssหรือjavascriptเพื่อซ่อนตรา reCaptcha v3

  1. วิธี CSS ใช้display: noneหรือvisibility: hiddenซ่อนชุด reCaptcha ง่ายและรวดเร็ว
.grecaptcha-badge {
    display:none !important;
}
  1. วิธี Javascript
var el = document.querySelector('.grecaptcha-badge');
el.style.display = 'none';

การซ่อนป้ายที่ถูกต้องตามนโยบายของ Google และคำตอบในคำถามที่พบบ่อยที่นี่ ขอแนะนำให้แสดงนโยบายความเป็นส่วนตัวและข้อกำหนดการใช้งานจาก google ดังที่แสดงด้านล่าง

นโยบายของ google และข้อกำหนดการใช้งาน


1
'not querySelect' แต่ 'querySelector'
Keisuke Nagakawa

1
@ 永川圭介ขอบคุณที่คืนกลับสู่การพิมพ์ผิด
Kiran Maniya

1

ฉันเห็นความคิดเห็นต่อไปเกี่ยวกับเรื่องนี้

นอกจากนี้ยังมีประโยชน์ในการวางป้ายอินไลน์หากคุณต้องการใช้ CSS ของคุณเอง แต่โปรดจำไว้ว่าคุณตกลงที่จะแสดงข้อตกลงและเงื่อนไขของ Google เมื่อคุณลงทะเบียนสำหรับรหัส API - ดังนั้นโปรดอย่าซ่อนไว้ และในขณะที่เป็นไปได้ที่จะทำให้ตราสัญลักษณ์หายไปอย่างสมบูรณ์ด้วย CSS เราไม่แนะนำ


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.

รายละเอียดเพิ่มเติมได้ที่นี่reCaptacha


-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(); ?>>

โปรดคำตอบอื่น ๆ แสดงไม่มีปิดการใช้งานการตรวจสอบสแปม
Helenesh

@Helenesh การตรวจสอบสแปมคืออะไรและเกี่ยวข้องกับการเพิ่มสไตล์ CSS ได้อย่างไร
Berkant Ipek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.