Poniższy tekst: https://gist.github.com/1876791 (zapożyczony z wersji demonstracyjnej w this question) to prosty przykład użycia window.onbeforeunload
w js.Safari pozostaje "ładowanie", gdy window.onbeforeunload zwraca fałsz
Problemem mamy jest następujący (dzieje z Safari 5.1.3 i nie Najnowsza wersja Chrome):
- Odwiedź tę stronę: http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm
- Kliknij na jeden z linków, będziesz otrzymasz alert z pytaniem, czy naprawdę chcesz opuścić tę stronę
- Kliknij "Pozostań na stronie"
- Załaduj ponownie stronę, używając
cmd-R
. Zostaniesz zapytany o inny czas, jeśli naprawdę chcesz opuścić stronę - Kliknij "Pozostań na stronie".
- Safari pozostaje w stanie "ładowanie", a pasek postępu wygląda tak, jakby załadować następną stronę.
Czy to błąd z Safari? Czy istnieje sposób na obejście tego problemu?
To dziwne, bo nawet próba window.stop() nie spowoduje, że Safari przestanie udawać, że odświeża stronę. Zgaduję, że to błąd, spróbuj zgłosić to do [webkit guys] (http://www.webkit.org/quality/reporting.html) – Roberto
Zdarza się tak również, jeśli odświeżam więcej niż raz.Nie muszę klikać jednego z linków. Używam Safari 5.1.2 na PC. –