MrTNTminer
@MrTNTminer
Пишет какую-то фигню на PHP

Как сменить тему у Google ReCapthca через JS?

Привет, суть вопроса такова, есть кнопка которая меняет классы у элементов, тем самым меняет белую тему сайта на черную и наоборот, это легко делается через toggleClass, но я не могу понять, как изменить тему у Google ReCaptcha, ведь там не обычный HTML атрибут, а data-theme="цвет темы".
Дак вот, можете подсказать как изменить тему у Google ReCaptcha на черную и обратно на белую?
Заранее благодарю.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
OxCom
@OxCom
Вам необходимо заново инициализировать reCaptcha с новым параметром темы. Не уверен, что простое изменение атрибута и refresh капчи изменит тему.

Я бы сделал инициализацию reCaptcha с помощью JS:
window.grecaptcha.render(containerElement, {
    'theme': isDarkTheme ? 'dark' : 'light',
    /* other config data */
});

И далее при смене темы, делать reset(), возможно даже новый render() с удалением старого incance капчи.
Обратите внимание, что при инициализации reCaptcha в элементе, содержащем data атрибуты, конфигурация из JS будет проигнорирована.

Update:
Только что попробовал на своей реализации тут (не реклама):
window.grecaptcha.reset(el, {
    'theme': 'light'
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы