2009-11-10 5 views
3

Désolé pour le titre cryptique. Je voudrais savoir si les fichiers mis en cache d'une webapp iPhone en utilisant la capacité de manifeste de HTML5, peuvent être mis à la disposition d'une autre webapp du même domaine; comme dans les librairies partagées de code javascript ou de logos d'image courants. N'importe qui?iPhone - "cache manifest" de HTML5 Commun à beaucoup de webapps?

Merci,

Greg

Répondre

0

Je suppose que si vous avez accédé à une URL identique il regarderait dans le cache d'abord, mais ne peut pas dire avec autorité. Pourquoi ne pas l'essayer? Il peut être nécessaire de figurer dans le manifeste des deux applications, ce qui peut entraîner des résultats imprévisibles. Je m'inquiéterais aussi du changement de comportement avec les nouvelles versions de Safari.

Cependant, ce qui fonctionnera est d'utiliser localStorage. Vous pouvez sérialiser à peu près n'importe quoi et l'enregistrer dans des variables localStorage pour d'autres applications Web du même domaine à utiliser. La seule limite est le ± 5 Mo par domaine (je pense).

ce qui conduit à un avertissement important:

NE PAS utiliser la même localStorage.variablename dans plusieurs webapps/pages web, sauf si vous voulez que les deux applications peuvent changer la valeur. Si vous faites cela involontairement, attendez-vous à des problèmes de support de tirage de cheveux.

+0

hmmm ... n'est pas la ségrégation au niveau du domaine en application? Je ne peux pas croire qu'un tel trou de sécurité gigantesque resterait ouvert ... – jldupont

3

GeoNomad, localStorage est plus pour les données variables qui vont changer au cours de l'utilisation d'une application plutôt que des informations de chargement initial.

n'est pas la ségrégation au niveau du domaine appliquée?

Bien sûr, mais il y a une partie pratique du manifeste qui vous permet de traverser ces frontières lorsqu'il est explicitement indiqué.

NETWORK: 

# All URLs that start with the following lines 

# are whitelisted. 

http://example.com/examplepath/ 

http://www.example.org/otherexamplepath/ 

De Apple.

En réponse directe à la question, de rendre l'information pour plusieurs applications Web disponibles à l'autre il suffit d'ajouter les mêmes informations dans chaque manifeste (ils ne seront pas recharger à moins qu'il ne détecte que les données ont changé.)

"Plusieurs caches d'application dans différents groupes de cache d'application peuvent contenir la même ressource, par exemple si les manifestes font tous référence à cette ressource."

De WHATWG

Questions connexes