Показать Swal одновременно - PullRequest
0 голосов
/ 13 июля 2020

Я хотел бы показать свою ласточку, когда localStorage.getItem ('sessoes') == "0", но этого не происходит. Мне нужна помощь, ПОЖАЛУЙСТА Проблема возникает там, если пользователь находится на одной вкладке, отлично. Но когда он находится в 2 шагах вкладки, сеанс завершается и не показывает сообщение пользователю. ** Локальное хранилище ** Я работаю как с базой данных.

    SetTimeOut:
        function () {
            try {
            if(!getClasseBasica().Verificapg()){
            //1800000
            var tempo = 20000;
            incrementSessoes();
            var timeout = null;
            var x = new Boolean(false);
            function eventoAlert() {
                swal({
                    title: "Sessão expirada",
                    text: "Sessão expirada por inatividade",
                    icon: "dist/img/time-clock.webp",
                    button: true,
                    button: "Sair",
                    className: "swalsair",
                    closeOnClickOutside: false,
                }).then((value) => {
                    var url_ajax = 'index.php';
                    window.location.href = url_ajax;
                }).catch(swal.noop);
            };
            function incrementSessoes() {
                var sessoes = parseInt(localStorage.getItem('sessoes'));
                var session = parseInt(sessionStorage.getItem('session'));
                if (sessoes) {
                    localStorage.setItem('sessoes', sessoes + 1);
                    sessionStorage.setItem('session', 1);
                } else {
                    localStorage.setItem('sessoes', 1);
                    sessionStorage.setItem('session', 1);
                }
            }
            function decrementSessoes() {
                var sessoes = parseInt(localStorage.getItem('sessoes'));
                localStorage.setItem('sessoes', parseInt(localStorage.getItem('sessoes') - 1));
                return  parseInt(localStorage.getItem('sessoes'));
            }

            function iniciaCronometro() {
                timeout = setTimeout(function () {
                    $.ajax({
                        type: 'POST',
                        url: 'index.php?id=59&func=timeout',
                        data: '236464302',
                        success: function () {
                            var sessoes = decrementSessoes();
                            if (sessoes <= 0|| localStorage.getItem('sessoes') == null) {
                            x = true;
                            eventoAlert();
                            }
                        },
                        error: function () {
                            window.location.href = 'index.php';
                        }
                            });
                }, tempo);
            };
            iniciaCronometro();
            $.ajax({
                type: 'POST',
                url: 'index.php?id=98',
                data: '236464302',
                success:
                 function () {
                        $(document).on('mousemove', function () {
                                if(parseInt(localStorage.getItem('sessoes')) <= 0 || localStorage.getItem('sessoes') == null){
                                    $.ajax({
                                        type: 'POST',
                                        url: 'index.php?id=59&func=timeout',
                                        data: '236464302',
                                        success: function () {
                                            if(!x){
                                            eventoAlert();
                                            }
                                        },
                                        error: function () {
                                            window.location.href = 'index.php';
                                        }
                                    });
                                }
                            if (timeout !== null) {
                                clearTimeout(timeout);
                            }
            iniciaCronometro();
            }
                        )}
        });
    }else{
        localStorage.clear();
        sessionStorage.clear();
    }
}catch (e) {
    console.log(e);
 }
}
...