Задать вопрос
WhiteHatqq
@WhiteHatqq

Как сделать чтобы виджетовая форма авторизации от Google не закрывалась?

На моем сайте установлена форма авторизации, но при клике в любом месте на сайте после того как она инициализирована, форма закрывается с ошибкой:
675d8fe8a4c80565086118.png
The request has been aborted.
[GSI_LOGGER]: FedCM get() rejects with AbortError: signal is aborted without reason

Увидел подобное на другом сайте, но форма не закрывается, подскажите, это какой-то аргумент в GSI?
675d900e81d0a775246669.png
Текущий код интеграции:
if (!checkCookie('Device')) {
    // Задержка на 30 секунд (30000 миллисекунд)
    setTimeout(function() {
        // Создаем элемент div
        var div = document.createElement('div');
        div.id = 'g_id_onload';
        div.setAttribute('data-client_id', 'xxx');
        div.setAttribute('data-context', 'signin');
        div.setAttribute('data-login_uri', 'xxx');
        div.setAttribute('data-auto_select', 'false');
        
        // Находим тег body и вставляем созданный элемент
        document.body.appendChild(div);

        // Создаем элемент <script> для Google Sign-In
        var script = document.createElement('script');
        script.src = 'https://accounts.google.com/gsi/client';
        script.async = true;
        script.defer = true;

        // Добавляем script в <head>
        document.head.appendChild(script);
    }, 1000); // 30000 миллисекунд = 30 секунд
}

Или вот пример с Reddit
675dd12342150154479790.png
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
WhiteHatqq
@WhiteHatqq Автор вопроса
Получилось, существует атрибут.

div.setAttribute('data-cancel_on_tap_outside', 'false');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Davidaa_WoW
@Davidaa_WoW
Есть вероятность, что у вас клик засчитывается, как "клик снаружи". Можно попробовать добавить костыль на повторное открытие:
https://stackoverflow.com/a/78332250/15493934

Также, в том же треде, ниже, есть предложение выключить опцию 'use_fedcm_for_prompt'. Можете также её попробовать
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы