Wie kann ich den Cache einer IOS Web App auf der Startseite löschen?
Ich bin mit JQTouch erstellen eine Web-App auf dem Homescreen per meta-tag "apple-mobile-web-app-capable", aber egal wie oft ich den cache von innen-Einstellungen, die Web App-Javascript ist noch eine ältere version im Cache.
Seltsamerweise, wenn ich den meta-tag-Inhalt;
<meta name="apple-mobile-web-app-capable" content="no" />
...dann fügen Sie die Web-App auf dem Homescreen, bekomme ich die neueste version, wenn ich starten Sie es.
Aber wenn ich den meta-tag;
<meta name="apple-mobile-web-app-capable" content="yes" />
...dann fügen Sie die Web-App auf dem Homescreen, bekomme ich die ältere version im Cache.
PS. Ich kann bestätigen, dass ist nur der javascript -die wird nicht aktualisiert.
InformationsquelleAutor der Frage GilbertSinnott | 2011-11-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, hinzufügen eine eindeutige Zeichenfolge an das Ende deiner js gehören das src-Attribut (verwenden Sie eine Zeitmarke, zum Beispiel). Bedenken Sie ändern müssen, diese eindeutige Zeichenfolge für jede Aktualisierung, die Sie wollen, so möchten Sie vielleicht in Erwägung ziehen lazy-loading (die in sich selbst Ihr problem lösen):
<script type="text/javascript" src="myScript.js?012345"></script>
Diese Regel zwingt den browser in grabbing die neueste version von das Skript. Könnte funktionieren...
InformationsquelleAutor der Antwort SquareFeet
Ich fand, dass mit Bündelung Funktion in ASP.NET MVC löste dieses problem für mich.
Es generiert automatisch eine gebündelte link in der form:
http://www.domain.com/MvcBM_time/bundles/AllMyScripts?v=r0sLDicvP58AIXN_mc3QdyVvVj5euZNzdsa2N1PKvb81
Token nach dem v= ändert sich, wenn eine Datei in dem Bündel von änderungen, die garantiert, dass der browser fordert für das bundle erhalten Sie die neuesten bundle.
InformationsquelleAutor der Antwort muzzamo
Dies ist ein Weg, der arbeitete für mich zu klar komplett cache:
1-Löschen Sie die tabs in safari, wo sich Ihre app.
2-Löschen Sie das Symbol der app auf dem home-Bildschirm.
3-Töten safari aus dem Speicher.
4-Gehen Sie zu Einstellungen/safari und drücken Sie auf "cache leeren".
5-Sie können starten Sie Ihr iPhone/iPod, wenn Sie sicher sein wollen, dass es funktioniert
InformationsquelleAutor der Antwort Mageek
Wenn Sie jailbroken werden, sondern nur im terminal
InformationsquelleAutor der Antwort Dmitry Grinberg
Dieser fuhr mich absolut Nüsse. Ich habe versucht, das töten von Safari den cache leeren, wechseln Sie in den privaten Modus, und entfernen Sie die web app aus dem home-Bildschirm. Keiner von denen funktioniert, sondern was funktioniert ist vorübergehend das laden der web-app-Seite im Safari selbst und laden.
Wenn Sie hinzufügen zum home-Bildschirmkönnen Sie hinzufügen ?web_app_ready=1 an die URL installieren. Da, das ist nicht ein Endbenutzer-Prozedur, fügt es einen Abfrage-string zu jedem Skript (die Antwort oben) wird wahrscheinlich wirksamer sein für nicht-Entwickler-Umgebungen.
InformationsquelleAutor der Antwort Chris
Gebäude Weg, was SquareFeet sagte, man könnte automatisch ziehen Sie die neue Datei jedes mal mit einem einzigartigen GET-tag an den Dateinamen angehängt, mit PHP. Zum Beispiel:
Theoretisch die gleiche Aufgabe erreicht werden könnte, mithilfe von JavaScript, wenn auch mit einigen Modifikationen an den web-server:
InformationsquelleAutor der Antwort SnazzyJava