jest to mój pierwszy post na tym forum dlatego prosze o wyrozumiałość. Chce do swojego projektu wdrożyć funkcjonalność która będzie reagowała w momencie gdy użytkownik zamknie zakładke lub okno przeglądarki. Funkcjonalność ma zapisać takie zdarzenie do bazy danych jako wylogowanie za pomocą AJAXa. Posiadam skrypt który wykonuje tę operacje z tym że ma jeden minus. Gdy użytkownik ma otwarty system w dwóch zakładkach i zamknie jedna z nich to system traktuje to jako wylogowanie. Prawidłowo powinien zadziałać w momencie gdy nie ma już więcej otwartych zakładek z tym systemem.
Poniżej zamieszczam to co udało m isie zrobić:
<script> var validNavigation = false; $(document).bind('keypress', function(e) { if (e.keyCode === 116){ validNavigation = true; } }); $("a").bind("click", function() { validNavigation = true; }); $("form").bind("submit", function() { validNavigation = true; }); $("input[type=submit]").bind("click", function() { validNavigation = true; }); function saveEvent() { if (!validNavigation) { //AJAX } }; window.parent.onbeforeunload = saveEvent; </script>
JS nie jest moją mocna stroną dlatego kod wygląda jak wygląda.