Я хотел бы показать свою ласточку, когда 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);
}
}