Я не могу удалить значок, вероятно.Когда пользователь открывает модальный контакт, создается значок.
В настоящее время я скрываю значок только после закрытия модального окна.
let badge = document.querySelector('.grecaptcha-badge');
if(! badge) return;
badge.style.display = 'none';
Проблема заключается в том, что пользователь решаетснова откройте модал.Поэтому он снова создает значок.
Вот пример.После 3-хкратного открытия и закрытия модальной модели создается 6 делений.
Как правило, не было бы проблем удалить "внешний значок", но каким-то образом Google добавляет этот другой div, так что сложнеедобраться до него
В документации Google Я вижу grecaptcha.reset (), но это, к сожалению, просто удаляет его и возвращает обратно.
Я использую Vue, и мой текущий подход для рендеринга значка recaptcha выглядит следующим образом:
const recaptchaDiv = document.createElement('div');
recaptchaDiv.className = 'outside-badge';
document.body.appendChild(recaptchaDiv);
this.widgetId = grecaptcha.render(recaptchaDiv, {
sitekey: this.sitekey,
size: "invisible",
badge: this.badge || "bottomright",
theme: this.theme || "light",
callback: token => {
this.callback(token);
grecaptcha.reset(this.widgetId);
}
});
Когда модальный режим закрыт, переменные уничтожаются, и у меня нет доступа к this.widgetId
.