web-dev-qa-db-fra.com

Puis-je effacer une webapp dans Chrome?

J'ai écrit une webapp qui a un manifeste qui inclut tout le javascript et les images dont il a besoin. Malheureusement, même lorsque je modifie le fichier manifeste, il ne semble pas recharger le javascript.

Existe-t-il un moyen de supprimer complètement la webapp de Chrome? Vider le cache du navigateur ne semble pas fonctionner.

J'exécute Chrome 5.0.375.55 sur un Mac.

Toute aide reçue avec gratitude.

52
acuth

Ajout d'un paramètre get comme ?foo=12345 traitera votre fichier comme différent et le remettra donc en mémoire, mais NE Videra PAS le cache du fichier existant.

Type:

chrome://appcache-internals/

et vous aurez de la chance :)

160
digitaldonkey

Apple a une très bonne documentation à ce sujet, c'est un peu difficile à démarrer, mais cela rend le processus du manifeste plus transparent. De plus, je trouve que Safari (en particulier Mobile Safari) affiche ces réponses aux événements de manière plus cohérente que Firefox; pas sûr de Chrome bien qu'il devrait être assez proche de Safari.

La racine de votre question cependant:

  1. Vider le manifeste ou ajouter/supprimer un fichier dans le manifeste
  2. charger l'application
  3. rajouter le manifeste
  4. Recharger l'application. C'est sale mais je recommande de prendre le temps de lire et d'implémenter le JS et ainsi vous pouvez voir avec certitude que le manifeste est mis à jour.

Google a une bonne publication ici .

Fondamentalement, vous pouvez créer une série de if else tests avec le window.applicationCache.status pour un aperçu clair de ce que fait le système.

D'Apple:

Par exemple, vous obtenez l'objet DOMApplicationCache comme suit:

cache = window.applicationCache;

Vous pouvez vérifier l'état du cache d'application comme suit:

if (window.applicationCache.status == window.applicationCache.UPDATEREADY)...

Si le cache d'application est à l'état UPDATEREADY, vous pouvez le mettre à jour en lui envoyant le message update () comme suit:

window.applicationCache.update();

Si la mise à jour réussit, échangez les anciens et les nouveaux caches comme suit:

window.applicationCache.swapCache();
2
Whitney Krape

Est-il également mis en cache côté serveur? Essayez d'ajouter un paramètre get comme? Foo = 12345 à l'url et voyez si vous obtenez le fichier mis à jour.

2
Dave Kasper

Non (pour autant que je sache)

Il semble que les gens souhaitent que la personne qui pose la question accepte une réponse, mais personne n'a réellement répondu à la question. Je ne suis pas un expert, mais j'ai beaucoup cherché, et je pense que "Non" est correct, et répond à la question posée.

0
DaveWalley