Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Problem z unload, onUnload i onBeforeUnload
Kużdo
post
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Witam,

Chciałem zrobić sobie zliczanie pobytu gości(!) na stronie, którzy weszli z linka PP. Dostają oni unikalne ciasteczko i dla nich dodawane jest do części head skrypt JS, który przy unload otwiera po ajaxie połączenie do pliku php i tak zliczam czas pobytu na stronie. Problem z tym, że Chrome nie obsługuje funkcji unload() z jQuery... Nie potrafię pisać w czystym JS i mam problem jak rozwiązać to :/ W tej chwili trochę przerobiłem skrypt, ale nie działa on teraz i w Operze i w Chrome :/

  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. if($.browser.chrome) {
  4. window.onbeforeunload = function(){
  5. $.ajax({
  6. type: "POST",
  7. url: "plik.php",
  8. data: "cookie='.$_COOKIE['hash'].'"
  9. });
  10. };
  11. } else {
  12. $(window).unload(function(){
  13. $.ajax({
  14. type: "POST",
  15. url: "plik.php",
  16. data: "cookie='.$_COOKIE['hash'].'"
  17. });
  18. });
  19. }
  20. });


Może ktoś wie jak to rozwiązać? Może inny sposób zliczania pobytu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-satanek-
post
Post #2





Goście







Spróbuj dla chrome/opery ustawić typ zapytania na synchroniczny:

Kod
if($.browser.chrome) {
            window.onbeforeunload = function(){
                $.ajax({
                    type: "POST",
                    async: false,
                    url: "plik.php",
                    data: "cookie='.$_COOKIE['hash'].'"
                });
            };
        }


Nie testowane, ale istnieje szansa że zadziała (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 21:00