Не отображается капча Google

Зарегистрирован на reCaptcha. Код капчи вставлен в первую форму на странице. Отображается капча корректно и отлично работает. Вставляю этот же код с внутренним ключом на этой же странице в другую форму — не отображается. Во всех последующих формах на этой странице при расположении кода в формах, капча не отображается.В чем может быть проблема? Возможно, на каждую форму отдельная капча?

Прошу помощи.

Отслеживать
задан 22 июн 2017 в 9:19
1,514 4 4 золотых знака 21 21 серебряный знак 35 35 бронзовых знаков
Каждую капчу через grecaptcha.render() запускаете?
22 июн 2017 в 9:45
Спасибо, заработало через grecaptcha.render()

22 июн 2017 в 9:49

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

var onloadCallback = function() < mysitekey = ‘your_site_key’; grecaptcha.render(‘recaptcha1’, < ‘sitekey’ : mysitekey >); grecaptcha.render(‘recaptcha2’, < ‘sitekey’ : mysitekey >); >;
Отслеживать
ответ дан 22 июн 2017 в 9:57
1,514 4 4 золотых знака 21 21 серебряный знак 35 35 бронзовых знаков

    Предстоящие события

заканчиваются через 5 дней

Похожие

Подписаться на ленту

Лента вопроса

Не Отображается КАПЧА в Лаунчере Epic Games Нет Картинки для Подтверждения Входа в Epic Games

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Не отображается капча google

Рис.1. Google капча для WordPress

После нескольких массовых спамерских регистраций в моем блоге я поменял плагин для генерации капчи на Google Captcha (reCAPTCHA) by BestWebSoft. Плагин очень удобный для пользователя – он не требует ввода непонятных символов, а просто просит нажать кнопочку «Я не робот» (Рис.1). Правда пару раз плагин давал мне задания, типа «отметь изображения, где есть вода».

Рис.1. Google капча для WordPress

Рис.1. Google капча для WordPress

Плагин исправно работал, лишних регистраций не было. Но в течение 2 месяцев не было комментариев. Несмотря на то, что их не много пишут, все же 1-2 комментария в неделю стабильно.

И тут через форму обратной связи, на которой используется только своя капча, добрый человек сообщил мне о том, что в форме комментариев капча не отображается, а при отправке происходит проверка.

Причину произошедшего я даже поискать не успел, ибо решение нашел раньше. На странице плагина при нажатии на кнопку «?» появляется подсказка (Рис.2):

ReCAPTCHA тормазит, повторы, зависает, не работает. Решение!!!

Рис.2. Подсказка для плагина Google Captcha (reCAPTCHA) by BestWebSoft

Рис.2. Подсказка для плагина Google Captcha (reCAPTCHA) by BestWebSoft

Сразу решил добавить шорткод в шаблон комментариев comments.php моей темы (/wp-content/themes/nazvanie_temy):

После этого капча появилась в форме комментариев.

Источник: markimarta.ru

Google «reCaptcha» иногда не отображается / отображается

Иногда мне приходится перезагружать веб-страницу несколько раз, пока reCaptcha не будет отображаться. Я и друг тестировали как в Firefox, так и в Chrome, но проблема последовательна и, похоже, не зависит от используемого браузера. Код, который я использую для отображения моей reCaptcha:

var CaptchaCallback = function()< grecaptcha.render(‘RecaptchaField1’, ); grecaptcha.render(‘RecaptchaField2’, ); grecaptcha.render(‘RecaptchaField3’, ); grecaptcha.render(‘RecaptchaField4’, ); >;

И позже в формах я просто добавил: с правильным номером. Формы всегда находятся внутри загрузочного модального, если это волнует? Edit: Я удалил атрибуты async и defer . Изменить 2: Страница, в которой есть проблемы: http://www.dexquote.com

Dexkill 03 авг. 2015, в 00:16
Поделиться
Просто предположение: вы пытались отбросить атрибуты async и defer ?
Little Santi 02 авг. 2015, в 21:50

Dexkill 02 авг. 2015, в 21:53

Hum . defer говорит браузеру загрузить скрипт после полной загрузки страницы. async для выполнения асинхронно. Таким образом, ни один из них не рекомендуется в вашем случае, когда требуется скрипт из другого скрипта, который выполняется во время загрузки страницы. w3.org/TR/html5/scripting-1.html#attr-script-defer

Little Santi 02 авг. 2015, в 21:59
Dexkill 02 авг. 2015, в 22:21
Тогда я не знаю. 🙁
Little Santi 02 авг. 2015, в 22:31

Пожалуйста, загрузите скрипку или ссылку на свою страницу разработки с кодом не работает
DGS 10 авг. 2015, в 10:39
Dexkill 10 авг. 2015, в 20:41

Проверьте ваши куки, reCaptcha может сохранить результат от пользователя в куки. Они делают это, чтобы пользователю не приходилось повторять одни и те же шаги, если они правильно поняли

Canvas 10 авг. 2015, в 20:48
Показать ещё 6 комментариев
Поделиться:

4 ответа

Лучший ответ

Эта проблема возникла со мной на картах Google при инициализации карты на скрытом div (например, модальном). Я решил бы эту проблему, удалив инициализацию из загрузки страницы и инициализируя каждую капчу, когда модальный текст отображается следующим образом:

$(document).ready(function () < $(‘#loginModal’).on(‘shown.bs.modal’, function () < grecaptcha.render(‘RecaptchaField1’, ); >) $(‘#loginModal’).on(‘hide.bs.modal’, function () < $(«#RecaptchaField1»).empty(); >) >);
Heidar 11 авг. 2015, в 10:07
Поделиться

Вы должны grecaptcha.reset() вызвать grecaptcha.reset() , прежде чем вызывать empty . У меня были проблемы с этим, хотя я не помню почему (и убедитесь, что перед вызовом reset вы вызывали render один раз, потому что, если вы пытаетесь reset несуществующую recaptcha, выдается ошибка).

Peregring-lk 21 сен. 2016, в 06:02

Это не работает должным образом из-за того, что рендеринг разрешается выполнять только один раз для каждой загрузки. Это работает, но выдает ошибку. Решение (если используется jquery) состоит в том, чтобы изменить $(‘#loginModal’).on $(‘#loginModal’).one чтобы рендер добавлялся только при первом открытии модального $(‘#loginModal’).one . hide.bs.modal можно hide.bs.modal функцию hide.bs.modal .

JPB 20 июнь 2018, в 05:40

Если у вас есть одна страница с этой проблемой, удалите «defer async» из загрузки recaptcha script и поставьте «defer» на функцию обратного вызова.

Причина, по которой возникает проблема, заключается в том, что загрузка удаленных сценариев может продолжаться дольше, чем загрузка других локальных скриптов, поэтому ваша функция рендеринга вызывается до того, как grecaptcha будет полностью загружена. Когда вы удаляете асинхронное отключение с удаленного устройства script и откладываете отсрочку при обратном вызове, grecaptcha будет загружаться во время процесса загрузки страницы, и он вызовет функцию обратного вызова, которая будет запущена после полной загрузки страницы, поэтому, если у вас нет другого «отложенного» ответа, отмеченные скрипты, grecaptcha.render() будет последним, что нужно сделать на этой странице.

Код будет выглядеть так:

var CaptchaCallback = function()< grecaptcha.render(‘htmlElementId’, ); >;
Dusan 04 июнь 2016, в 21:06
Поделиться

У меня была аналогичная проблема, но мой captcha не был обработан, и когда я попытался вызвать grecaptcha.getResponse(), я увидел следующую ошибку:

Error: Invalid ReCAPTCHA client id: undefined

В моем случае все пользовательские скрипты были включены в нижней части HTML файла, поэтому у меня было чистое состояние гонки, о котором упоминалось в документах recaptcha.

Примечание: ваша функция обратного вызова onload должна быть определена до reCAPTCHA API загружается. Для обеспечения отсутствия условий гонки:

сначала закажите свои сценарии с обратным вызовом, а затем reCAPTCHA используйте асинхронные и отложенные параметры в тегах script(https://developers.google.com/recaptcha/docs/display)

С параметрами async и defer в капчете произошел сбой 1 из 10 (или иногда 1 из 30) перезагрузки страницы. Но когда я удалил их обоих — ситуация поняла, что случилось. Я надеюсь, что это упоминание будет полезно для кого-то.

Источник: overcoder.net

Рейтинг
Загрузка ...