2010-05-25 15 views
26

Es wird in meinen Tests offensichtlich, dass es eine 5-MB-Größenbeschränkung für die Implementierung des HTML5-Anwendungs-Caches durch Mobile Safari gibt.Mobile Safari 5 MB HTML5-Anwendungscache-Limit?

Weiß jemand, wie man das umgeht oder erhöht? Gibt es ein unexponiertes Meta-Tag, über das ich etwas wissen sollte? Ich muss einige Video-Inhalte für eine Offline-App zwischenspeichern und 5mb wird nicht genug sein.

Antwort

0

Was gibt es sonst noch auf der Seite?

Diese Jungs halten ihre Seiten unter der Grenze entweder durch Aufteilen der Seiten nach oben oder einige der im Cache gespeicherten Bilder mit Links zu ersetzen:
http://www.mobilenoter.com/blog/post/2010/04/06/Removing-size-limit-of-a-page.aspx

+0

Ich nehme an, dass das auch auf Video angewendet werden kann? Zerschneide das Video in 5MB Chunks. Wenn es keine Notwendigkeit für Video-Suche gibt, denke ich, dass der Loader trivial zu implementieren ist. – syockit

-1

nicht sicher, warum alle vergessen über die guten alten Web-Anwendungen (nicht vergessen, diese Jungs? Sie waren vor nativen Apps!), aber sie sind bereits "offline bereit", was bedeutet, dass Sie Ihren Anwendungscache nicht mit jeder Komponente Ihrer App laden müssen.

Soweit ich weiß, sind der Größe von Web Apps keine Grenzen gesetzt.

http://www.apple.com/webapps/

+0

Es ist eigentlich eine Web-App, die ich baue - eine, um Filme (HTML5-Video-Tag) zu zeigen, wenn der Benutzer für Präsentationen offline ist. Ich kann bestätigen, dass die Cache-Größenbeschränkung auch für Web-Apps gilt. – JFH

2

Dies wird nicht auf den besonderen offline-Videoanwendungsfall anwenden, aber Sie können Web SQL-Datenbanken erstellen größer als die Standard 5MB in iOS, indem Sie einfach eine größere DB im openDatabase Anruf anfordern. Für einige Arten von Speicher kann SQLite eine akzeptable Lösung sein.

8

Ich habe versucht, einen einfachen Test mit diesem Manifest zu schreiben:

CACHE MANIFEST 
# 2010-06-20:v4 

http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js 
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg 
http://apod.nasa.gov/apod/image/9712/orionfull_jcc_big.jpg 
http://www.thelivingmoon.com/43ancients/04images/Titan/titan5km_huygens_big.jpg 
http://upload.yeuamnhac.com/musica/dan_lily/dancontent/rh108poster1big.jpg 

Dieser Cache benötigt 11.4MB Speicher.

Wenn ich eine Seite öffnen, die diese Manifestdatei enthält, sagt es etwa so aus: "Diese Website benötigt bis zu 25 MB Speicherplatz, möchten Sie den lokalen Speicher erhöhen?".

Ich glaube, ich habe, was die Art und Weise iOS tun:

  • Sie nur 5 MB für die lokale Speicherung haben (einschließlich Cache HTML5-Anwendung)
  • Wenn Ihr Web mehr benötigen, Safari benötigen Zustimmung des Benutzers für einige Pakete (bis zu 10MB oder 25MB oder mehr ...)

Hoffen, dass das für Sie nützlich ist.

0

lief ich eine Web-Anwendung, die größer als 5 MB auf einem iPad (iOS 5) war, obwohl es ein iPad, sobald die Seite vorbei 5MB geladen wird es ein Pop-up fragt den Benutzer angezeigt, wenn er/sie die Größe erhöhen wollte des Cache auf 10 MB.

Ich würde das scheinen mit der neuesten iOS-Version, dass, wenn ein Web-App mehr als 5 MB Cache-Speicher benötigt wird den Benutzer gefragt, ob er die Erlaubnis, es so den Benutzer zu erhöhen hat, kann ihren/seinen eigenen Speicherbereich verwalten.

Es würde auch nahelegen, dass, wenn Sie Ihre Nutzungsdaten (sagen über iTunes) sehen, der Betrag, den Sie in der Kategorie "Andere" sehen, wahrscheinlich Web Cache ist. Außerdem können Sie sehen, wie viel Speicherplatz pro Website verwendet wird, indem Sie zu Einstellungen | wechseln Safari | Fortgeschritten | Websitedaten.

Verwandte Themen