2012-11-09 13 views
5

Mój kod javascript zatrzymuje się, gdy strona ładuje się z manifestu pamięci podręcznej w trybie pełnoekranowym WebApp (iPad3/iOS6).Zatrzymanie Javascript podczas ładowania z manifestu pamięci podręcznej w aplikacji internetowej

To powoduje, że nie możesz zrobić niczego w ciągu pierwszych 5 sekund. Następnie możesz normalnie korzystać z witryny.

1) Dlaczego kod JavaScript przestaje działać? (Problem z wydarzeniem?)
2) Jak mogę to naprawić?

Zaangażowany jest:

  • jquery-1.8.2.min.js

EDIT:

ja eksperymentowałem i okazało się, że kod JavaScript działa normalnie po zdarzeniu onNoUpdate i onUpdateReady. Dopóki te dwa zdarzenia nie zostaną zainicjowane, upłynie dużo czasu. To nie jest opcja.

EDIT2:

`<script type="text/javascript"> 

    $(document).bind('touchmove', false); 


    $(document).ready(function() { 
     applicationCache.onupdateready = function() { 
      if (confirm("Ihre Applikation wurde aktualisiert. Soll die Darstellung neu geladen werden?")) { 
       window.location.reload(); 
      } 
     } 
     applicationCache.onnoupdate = function() { 

     } 


     var a = document.getElementsByTagName("a"); 
     for (var i = 0; i < a.length; i++) { 
      if (a[i].className.match("noeffect")) { 
       // Here happens nothing 
      } 
      else { 
       a[i].onclick = function() { 
        load(); 
        window.location = this.getAttribute("href"); 
        return false; 
       }; 
      } 
     } 
    } 
);` 

Odpowiedz

0

Spróbuj wstawiania niektórych dzienników w kluczowych miejscach, aby dowiedzieć się dokładnie, gdzie w kodzie przerwa dzieje. Zwykle po zawężeniu go odpowiedź staje się jasna.

+0

Poeksperymentowałem i okazało się, że kod JavaScript działa normalnie po zdarzeniu onNoUpdate i onUpdateReady. Dopóki te dwa zdarzenia nie zostaną zainicjowane, upłynie dużo czasu. – skull3r7

+0

Czy masz fragment kodu, który możesz opublikować, aby umieścić go w kontekście? – RonaldBarzell

+0

Dodaję kod JS do głównej wiadomości. – skull3r7

Powiązane problemy