2012-04-02 32 views
24

Funkcja zwolnienia w jQuery działa dobrze w przeglądarce Firefox, ale nie w chrome i safari. sprawdź to skrzypce w chrome i Firefox. http://jsfiddle.net/jeevankk/Gywnw/2/. Ostrzega wiadomość po odświeżeniu strony.Dlaczego wyładowanie jQuery nie działa w chrome i safari?

$(window).unload(function() { 
     alert("Unload"); 
});​ 
+2

możliwe duplikat [window.onunload nie działa poprawnie w przeglądarce Chrome. Czy ktoś może mi pomóc?] (Http://stackoverflow.com/questions/7794301/window-onunload-is-notwork-properly-in-chrome-browser-can-any-one-help-me) –

+4

dialogów są blokowane/blokowane podczas "beforeunload" (z wyjątkiem zgłoszeń beforeunload) i "rozładuj" zdarzenia. sprawdź konsolę, mówi wszystko. – Joseph

+0

@Joseph masz rację. to był problem – Jeevan

Odpowiedz

18

znalazłem Komentarz Józefa jako poprawna odpowiedź, więc zamieszczanie tej odpowiedzi.

Dialogi są blokowane/blokowane podczas "beforeunload" (z wyjątkiem monitu beforeunload) i "rozładowywania" zdarzeń. Można to sprawdzić, sprawdzając konsolę.

+1

to naprawdę nie jest odpowiednia odpowiedź na to pytanie ... –

6

To dlatego, że zdarzenie wyładowania nie jest częścią żadnego standardu

https://developer.mozilla.org/en/DOM/window.onunload

Sprawdź dole strony Właśnie związanej.

+0

OK, czy mimo to mogę znaleźć, kiedy zakładka jest zamknięta w chromie i safari? – Jeevan

+0

Niestety nie jestem pewien, czy istnieje stały sposób, aby to zrobić, ale na zduplikowanym pytaniu @David wskazał, że była sugestia, że ​​mogą użyć zdarzenia pagehide http://stackoverflow.com/a/9909822/199111 – Robert

18

Powinno to działać, aby pokazać potwierdzenie, gdy użytkownicy opuszczają, to również nie jest częścią żadnego standardu.

$(window).on('beforeunload ',function() { 
    return 'Are you sure ?'; 
}); 
2

funkcja rozładować jQuery ma jakiś problem z browsers..refer na poniższy link http://bugs.jquery.com/ticket/5538

można opracowania na ten problem tak, że możemy znaleźć pracę wokół ??

+0

okna dialogowe są blokowane/blokowane podczas "beforeunload" (z wyjątkiem polecenia beforeunload) i "rozładuj" zdarzenia. sprawdź konsolę, mówi, że wszystko, co Józef miał rację. – Jeevan

1

można użyć onfocusout na ciele .. ale nie polecam, jeśli próbujesz użyć coś takiego wpisu, na tej operacji, prosząc użytkownika, aby nie pozostawić swoją stronę ..

5

Uwalnianie jQuery działa również dobrze w chrome, z wyjątkiem tego, że Chrome nie dopuszcza wpisów w nim. Używałem go do ustawiania ciasteczek. A jeśli działa z Chrome, to też działa w Safari.

0

"odświeżania" działanie w Firefox nie ognia zdarzenie unload.

Powinniśmy użyć zamiast tego onbeforeunload.

Potwierdzić Firefox w wersji 47, Mac OS X

Powiązane problemy