При внедрении новой невидимой reCATPTCHA Google по умолчанию вы получаете значок "protected by reCAPTCHA" в правом нижнем углу экрана, который появляется, когда вы просматриваете его.
Я хотел бы скрыть это.
При внедрении новой невидимой reCATPTCHA Google по умолчанию вы получаете значок "protected by reCAPTCHA" в правом нижнем углу экрана, который появляется, когда вы просматриваете его.
Я хотел бы скрыть это.
Установите для атрибута data-badge
значение inline
<button type="submit" data-sitekey="your_site_key" data-callback="onSubmit" data-badge="inline" />
И добавьте следующий CSS
.grecaptcha-badge {
display: none;
}
Конечно, вы можете сделать это с помощью CSS.
Но в соответствии с Условиями обслуживания reCAPTCHA (с которыми вы должны были согласиться), вы должны информировать посетителей о внедрении reCAPTCHA на вашем сайте:
И из Условия использования Google
Эти условия не дают вам права на использование каких-либо логотипов или логотипов, используемых в наших Сервисах. Не удаляйте, не скрывайте и не изменяйте любые юридические уведомления, отображаемые в наших Сервисах или вместе с ними.
ОБНОВЛЕНИЕ ДЕКАБРЯ 2018 (спасибо @Sol)
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.
Например:
Я проверил все подходы и:
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>
Поскольку скрытие значка не является действительно законным в соответствии с TOU, и существующие варианты размещения нарушали мой пользовательский интерфейс и/или 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;
}
Я думаю, что, насколько вы можете на законных основаниях толкать его.
Google теперь говорит: "Вам разрешено скрывать значок, если вы явно включаете брендинг reCAPTCHA в поток пользователей". Ссылка на сайт
Я решил скрыть значок на всех страницах, кроме моей страницы контактов (с помощью 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;
}
Я не веб-разработчик, поэтому, пожалуйста, исправьте меня, если что-то не так.
РЕДАКТИРОВАТЬ: Обновлено, чтобы использовать видимость вместо отображения.
Мое решение состояло в том, чтобы скрыть значок, а затем отобразить его, когда пользователь сосредоточится на вводе формы - таким образом, все еще придерживаясь Google T & C.
Примечание: 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 для нацеливания на конкретные формы, если это необходимо.
это не отключает проверку спама
div.g-recaptcha > div.grecaptcha-badge {
width:0 !important;
}
Для пользователей контактной формы 7 в Wordpress этот метод работает для меня: я скрываю повторную версию v3 на всех страницах, кроме страниц с контактными формами.
Но этот метод должен работать на любом сайте, где вы используете уникальный селектор классов, который может идентифицировать все страницы с элементами формы ввода текста.
Сначала я добавил целевое правило стиля в 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' );
}
});
Моя плитка все еще будет мигать на каждой странице в течение полсекунды, но это лучший обходной путь, который я нашел до сих пор, который, я надеюсь, будет соответствовать. Предложения по улучшению приветствуются.
Если вы используете обновление Контактной формы 7 и последнюю версию (версия 5.1.x), вам нужно будет установить, настроить Google reCAPTCHA v3 для использования.
по умолчанию вы получаете логотип Google reCAPTCHA, отображаемый на каждой странице в правом нижнем углу экрана. Это, по нашей оценке, создает плохой опыт для пользователей. И ваш сайт, блог немного замедлится (в зависимости от оценки PageSpeed), поскольку ваш сайт должен будет загрузить 1 дополнительную библиотеку JavaScript из 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)
Я видел следующий комментарий об этом
Также полезно разместить значок в строке, если вы хотите применить к нему свой собственный CSS. Но помните, что вы согласились показывать Условия использования Google при регистрации на ключ API - поэтому не скрывайте это, пожалуйста. И хотя с помощью CSS можно сделать так, чтобы значок полностью исчез, мы не рекомендуем этого.
Небольшой вариант сообщения Мэтью Доуэлла, который избегает коротких вспышек, но отображает всякий раз, когда видна форма контакта 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>
Я действительно нахожу это раздражающим. По сути, они добавили больше JavaScript в мой код, который я действительно не хочу. Я понимаю, что это загружается в нижний колонтитул, но весь отказ от конфиденциальности, с которым пользователи должны согласиться, потому что ЕС - это BS. Люди знают, что они получают, когда они посещают любой сайт, и, честно говоря, если они этого не делают; наверное не должно быть в интернете.
Честно говоря, я редко смотрю какую-либо информацию из Google Analytics, за исключением случая, чтобы увидеть, откуда приходят мои пользователи. У меня уже много лет есть политика конфиденциальности на моем сайте, которая довольно четко выражена в том, что я не говорю о том, откуда они идут или куда уходят после того, как покидают сайт. Я не использую рекламу, и у меня есть только всплывающее окно для пожертвований. Я четко заявляю, что не несу ответственности за то, что Google, Facebook и Twitter делают со своей информацией, когда они посещают мой сайт, и активно поощряю использование TOR при доступе к моему сайту, поскольку я не блокирую его.
Я удалил всплывающую Политику конфиденциальности Wordpress, потому что это затормозило скорость загрузки моего сайта; Итак, у меня есть ссылка на политику в нижнем колонтитуле, которую пользователи могут прочитать, если они того пожелают. Если ЕС хочет забанить мой сайт, вверните их. Я запускаю подкаст, который легко доступен через все основные потоковые приложения. Веб-сайт используется исключительно в качестве исходного места назначения для людей, просматривающих Интернет, чтобы найти меня. После этого у них есть множество вариантов доступа к контенту без необходимости посещать сайт снова.
Прежде чем вы это узнаете, Facebook, Twitter и Instagram будут вынуждены добавить уведомления о конфиденциальности на мой сайт, что сделает их неприемлемыми при сохранении приличных скоростей. Это никогда не закончится.
Для тех, кто не понимает код...
Для этого есть плагин:
https://wordpress.org/plugins/hide-google-captcha-badge
Это работает, я не получаю спам, и я получаю электронные письма.
Форма обратной связи 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;
}
Вы можете добавить больше "неимущих", если у вас есть больше страниц контактной формы.
body:not(.page-id-45):not(.page-id-78):not(.page-id-98) .grecaptcha-badge {
display: none;
}
Убедитесь, что ваш раздел тела будет выглядеть так:
<body>
Измените это так, чтобы это выглядело так:
<body <?php body_class(); ?>>