Есть ли способ программно включить/отключить виджет Google reCaptcha? Цель этого состоит в том, чтобы предотвратить преждевременный выбор пользователем флажка "Я не робот".
Как включить/отключить виджет Google reCaptcha?
comment
Нельзя ли просто скрыть элемент?
- person thanksd   schedule 16.09.2016
comment
Конечно, это возможно, но я бы выбрал такой подход, если бы не существовало какой-либо функции отключения/включения, о которой я не знаю. Я просмотрел документацию Google и ничего не увидел, поэтому мне интересно, знает ли кто-нибудь решение.
- person reformed   schedule 16.09.2016
comment
Я думаю, вы могли бы отложить метод .render на основе завершения обратного вызова из какого-либо события, например, последнего заполняемого элемента вашей формы или чего-то еще, что вы выберете.
- person Robert Wade   schedule 16.09.2016
comment
Ах поймал. Это возможно с помощью пользовательской темы.
- person thanksd   schedule 16.09.2016
Ответы (1)
Я нашел решение благодаря этому ответу.
Добавьте этот CSS:
.disabled-element {
opacity: 0.65;
pointer-events: none;
}
Добавьте класс disabled-element
к классу div
, содержащему элемент reCaptcha:
<script>
var onloadCallback = function() {
alert("grecaptcha is ready!");
};
</script>
<div class="disabled-element" id="captcha"></div>
...
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
И, наконец, когда вы будете готовы включить элемент reCaptcha, удалите класс:
$("#captcha").removeClass("disabled-element");
person
reformed
schedule
16.09.2016