Как да накарам скрит, плаващ зареждащ div да се скрие отново от страница, след като натисна бутона за връщане назад на мобилно safari?

Проблемът е само в iOS.

Имам плаващ скрит div с "... зареждане" се появява в текущата страница при следване на връзки в приложението. Това отново е скрито по подразбиране на следващата страница. Проблемът е, че когато след това потребителят натисне бутона за връщане назад, той се появява отново, нескрит, в мобилното safari. Това не е проблем при настолни браузъри.

Този код по-долу работи на настолен firefox, chrome и safari, но не и на мобилно safari на iO5 iphone и ipad.

<body style="margin: 0; padding: 0" onunload="$('#loading').hide()"  onload="setTimeout(function() { window.scrollTo(0, 1) }, 100);"> 

някакви мисли?


person Jack    schedule 24.10.2011    source източник
comment
onunload е ненадежден във всички браузъри с изключение на IE. Освен това, тъй като използвате jQuery, не е необходимо да имате вграден JavaScript.   -  person Sparky    schedule 24.10.2011


Отговори (1)


За Safari на iOs можете да направите това:

window.addEventListener('popstate', function(e) {$('#loading').hide()}); 

Въз основа на този отговор: Има ли алтернативен метод да използвате onbeforeunload в мобилно safari?

person Sjors Provoost    schedule 24.10.2011