2010-05-25 5 views
26

Il devient évident dans mes tests qu'il y a une limite de taille de 5 Mo sur l'implémentation de Mobile Safari du cache d'application HTML5.Mobile Safari 5mb Limite de cache d'application HTML5?

Est-ce que quelqu'un sait comment contourner ou augmenter ceci? Y a-t-il une balise Meta non exposée que je devrais connaître? Je dois mettre en cache du contenu vidéo pour une application hors ligne et 5mb ne suffira pas.

Répondre

0

Quoi d'autre sur la page?

Ces gars gardent leurs pages sous la limite soit par fractionnement des pages ou de remplacer certaines des images mises en cache avec des liens:
http://www.mobilenoter.com/blog/post/2010/04/06/Removing-size-limit-of-a-page.aspx

+0

Je suppose que cela peut également être appliqué à la vidéo? Découpez la vidéo en morceaux de 5 Mo. S'il n'y a aucun besoin de recherche de vidéo, je pense que le chargeur est assez trivial à implémenter. – syockit

-1

Je ne sais pas pourquoi tous les oublie les bonnes « applications Web ol (rappelez-vous ces les gars, ils étaient là avant les applications natives!), mais ils sont déjà prêts pour le «hors connexion», ce qui signifie que vous n'avez pas besoin de charger votre cache d'application avec tous les composants de votre application. Au meilleur de ma connaissance, il n'y a pas de limite de taille pour les applications Web.

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

+0

C'est en fait une application web que je construis - une pour montrer des films (tag vidéo html5) quand l'utilisateur est hors ligne pour des présentations etc. Je peux confirmer que la limite de taille de cache s'applique également aux applications web. – JFH

2

Ce ne sera pas applicable au cas particulier d'utilisation hors ligne vidéo, mais vous peut créer des bases de données SQL Web plus grand que les 5 Mo par défaut dans iOS en demandant simplement une plus grande base de données dans l'appel openDatabase. Pour certains types de stockage, SQLite peut être une solution acceptable.

8

J'ai essayé d'écrire un test simple avec ce manifeste:

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 

Ce cache aura besoin 11.4MB de stockage. Quand j'ouvre une page inclure ce fichier manifeste, il dit quelque chose comme ça: "Ce site Web nécessite d'utiliser jusqu'à 25 Mo de stockage, voulez-vous augmenter le stockage local?".

Je pense que je suis ce que l'iOS façon faire:

  • Vous avez seulement 5 Mo pour le stockage local (y compris le cache de l'application HTML5)
  • Si votre web ont besoin de plus, ont besoin de l'accord de l'utilisateur Safari pour certains paquets (jusqu'à 10 Mo, ou 25 Mo, ou plus ...)

Espérons que cela vous soit utile.

0

J'ai couru une application web qui était plus grande que 5Mo sur un iPad (iOS 5) bien que ce soit un iPad une fois la page chargée au delà de 5Mo elle présentait une pop-up demandant à l'utilisateur s'il voulait augmenter la taille du cache à 10MB. Il semblerait qu'avec la dernière version d'iOS, si une application web a besoin de plus de 5 Mo de mémoire cache, elle demandera à l'utilisateur s'il a l'autorisation de l'augmenter pour que l'utilisateur puisse gérer son propre espace mémoire.Il va de soi également que lorsque vous affichez vos données d'utilisation (disons via iTunes), le montant que vous voyez dans la catégorie "Autre" est probablement le cache web le plus souvent. Vous pouvez également voir combien d'espace est utilisé par site Web en allant dans Paramètres | Safari | Avancé | Données du site Web.

Questions connexes