Rozwijam czat php/javascript.Jak wykonać funkcję ajax onbeforeunload?
Gdy użytkownik się zaloguje, jego nazwa użytkownika zostanie wstawiona do tabeli MySQL o nazwie queue
. Wkładka ta zwraca mysql_insert_id()
, które będą przechowywane w zmiennej sesji o nazwie $_SESSION['CHAT_QUEUE_ID']
muszę MySQL wiersz tabeli mają zostać usunięte, gdy użytkownik zamknie stronę.
Próbowałem następujące, ale bez powodzenia:
js plik
window.onbeforeunload = closeSession;
function closeSession(){
$.ajax({
url: "/chat/process/chat.php",
type: "GET"
});
return "disconnected";
}
chat.php
$delete= "DELETE FROM queue WHERE id = " . $_SESSION['CHAT_QUEUE_ID'];
// query, etc
Czy istnieje jakiś sposób, aby to zrobić?
Czy zdajesz sobie sprawę, że wsparcie dla przeglądarki 'onbeforeunload'' jest ograniczona? Na przykład. opera tego nie obsługuje. – ckruse
Nie pomyślałem o tym. jakieś sugestie? – matheusvmbruno
Powszechną metodą jest zdefiniowanie limitu czasu. Jeśli użytkownik nie miał aktywności przez określony czas, jest odłączony. – ckruse