Wyświetlenie okienka po upłynięciu czasu

0

Witam,
nie wiem co dalej zrobić z tym kodem:


var start = 20;

$(document).ready(function(){ 
stoper();
setInterval(stoper,1000);

$('#reset').click(function() {
start = 20;
$.ajax({
type: "POST",
url: "logaut.php",
});

});

}); 

function stoper()
{
godzin = Math.floor(start/3600);
minut = Math.floor(start/60)%60;
sekund = start%60;

if(start<=0) {
$('#stoper').html('Sesja wygasła');  
} else {
$('#stoper').html('Koniec sesji za: ' + godzin + ':' + minut + ':' + sekund);
start--;
}
}

żeby po upłynięciu czasu (dajmy 20s żeby nie czekać) wyskoczyło mi okno z obrazkiem, tekstem, że czas minął i odsyłaczem 'zaloguj się' i żeby nie możnaby zrobić już niczego więcej na stronie niż klikniecie w tego odsyłacza. Proszę o pomoc. Z góry dziękuję.

0

Po pierwsze - zamiast wklejać kod na forum, lepiej umieścić go na http://jsfiddle.net, a na forum zamieścić jedynie link do Twojego jsfiddle.

Po drugie - nie napisałeś, czy podany kod działa. W ogóle to trochę mało szczegółowo opisałeś problem. W związku z tym zakładam, że odliczanie działa OK, a kłopot masz jedynie z blokowaniem użytkownika po upłynięciu zadanego czasu.

W związku z tym, po trzecie, zainteresuj się https://developer.mozilla.org/en-US/docs/Web/API/Location/replace - w ten sposób możesz przekierować użytkownika na inną stronę (w Twoim przypadku - na stronę logowania). Wprawdzie piszesz, że po upłynięciu czasu ma wyskoczyć okienko z informacją, ale biorąc pod uwagę, że potem jedyną opcją będzie kliknięcie w link przekierowujący do logowania - ja bym od razu przekierował użytkownika, a na stronie logowania dodał informację o tym, że czas upłynął i trzeba się ponownie zalogować.

Jeśli interesuje Cię inne rozwiązanie - napisz dokładnie, czego chcesz, może coś wymyślimy ;)

0

To tak, odliczanie jest ok i wyświetla się tekst "Sesja wygasła" po minięciu czasu w miejscu, gdzie pokazywały się cyferki odliczania, ale mi chodzi o to, żeby zamiast tego tekstu pojawiało się okienko na środku strony z tekstem i odsyłaczem informującym o końcu sesji i o ponownej możliwości zalogowania, a do tego, żeby nic już nie mógł zrobić pod okienkiem, ani wyłączyć tego okienka nie klikając na link "Zaloguj się", który przekieruje go na Panel Logowania. Takie coś ma na przykład dziennik elektroniczny mantica.net .

1

W takim razie moim zdaniem prościej byłoby od razu (jak pisałem wcześniej) przekierować go na stronę logowania, na której będzie informacja o tym, że czas minął i trzeba ponownie się zalogować. Będzie to prostsze i mniej problemogenne. Zresztą większość banków online tak ma - zostawiasz zalogowane przez jakiś czas, a potem jak wracasz do kompa to widzisz, ze na ekranie masz stronę logowania i info o przekroczeniu czasu.

0

No dobra, to zrobię jak mówisz, będzie na pewno łatwiejsze.

0

Tak jeszcze w temacie wylogowywania i wspomnianych wcześniej mechanizmów stosowanych przez banki - chwilę temu byłem na koncie, potem odszedłem od kompa, a po powrocie na ekranie miałem coś takiego:

.

screenshot-20180727132130.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1