![]() |
![]() |
--magier123-- |
![]()
Post
#1
|
Goście ![]() |
Witam
Szukalem i nie znalazlem. Potrzebuje podpowiedzi jak wykonac cos takiego aby jak ktos nacisnie X zeby zamknac przegladarke wyskoczyl alert z informacja zeby naciskac przycisk wyloguj (to wiem jak zrobic), ale zeby w miedzyczasie robil sie wpis w bazie np zmieniajacy 1 na 0 (uzytkownik online, offline). Temat byl juz omawiany tutaj http://forum.php.pl/index.php?showtopic=83463 ale ten AJAX nie dziala |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Proponowanych psełdorozwiązań tego problemu jest wiele. Każde czasem działa lub nie. Część działa zależnie od przeglądarki i takie tam.
Jedna pewna odpowiedź na to to: nie da się. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Na pewno nie możesz zrobić czegoś takiego, że ktoś chce zamknąć okno przeglądarki, a Ty mu nie pozwalasz.
Ale możesz wykonać operację przed zamknięciem okna. Służy do tego trigger onUnload(). Sprawdziłem przed chwilą, wykonuje się w FF 3.01, IE 6 i 7. Z Operą jest problem, ale na jej stronie piszą o tym, więc pewnie da się to obejść. Tylko jest pytanie, czy user będzie miał takie szybkie łącze, żeby w krótkiej chwili wysłać zapytanie Ajax z prośbą o wylogowanie. Ale próbuj - nie ma rzeczy nieosiągalnych ![]() Zresztą - zawsze możesz to zrobić w inny sposób. Powiedzmy, że ustawiasz setInterval() na 60 sek. Co 60 sekund idzie zapytanie do serwera mówiące, że user jeszcze jest zalogowany. Tak na prawdę idą same nagłówki, więc nie obciąża to łącza strasznie. Jak ktoś zamknie przeglądarkę, to zapytania przestaną się wysyłać. Powiedzmy, że sprawdzasz na serwerze i jeżeli user był nieaktywny przez 80 sek, to logout ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 11:11 |