52 votes

Puis-je effacer une application web dans Chrome ?

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

Existe-t-il un moyen de supprimer complètement l'application web de Chrome ? L'effacement du cache du navigateur ne semble pas fonctionner.

J'utilise Chrome 5.0.375.55 sur un Mac.

Toute aide est la bienvenue.

160voto

digitaldonkey Points 1736

L'ajout d'un paramètre de type "get" comme ?foo=12345 traitera votre fichier comme un fichier différent et le remettra donc en cache, mais n'effacera PAS le cache du fichier existant.

Type :

chrome://appcache-internals/

et vous aurez de la chance :)

8 votes

Si cette réponse résout votre problème, vous devez la marquer comme acceptée (cette coche se trouve juste en dessous des votes de la réponse).

0 votes

Cela fonctionne, mais pourquoi est-ce nécessaire ? J'ai suivi toutes les instructions pour créer une application hors ligne, mais chrome seul semble ignorer les mises à jour manifestes.

2voto

David Points 800

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

2voto

madjester Points 59

Apple dispose d'une très bonne documentation à ce sujet, qui est un peu difficile à mettre en œuvre, mais qui rend l'ensemble du processus de manifestation beaucoup plus transparent. En outre, je trouve que Safari (en particulier Mobile Safari) affiche ces réponses d'événements de manière plus cohérente que Firefox ; je ne suis pas sûr pour Chrome, mais cela devrait être assez proche de Safari.

La racine de votre question cependant :

  1. Vider le manifeste ou ajouter/supprimer un fichier au manifeste
  2. charger l'application
  3. réintroduire le manifeste
  4. Recharger l'application. C'est une méthode peu pratique mais je recommande de prendre le temps de lire et d'implémenter le JS afin de s'assurer que le manifeste est bien mis à jour.

Google a publié un bon article ici .

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

De la part d'Apple :

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

cache = window.applicationCache;

Vous pouvez vérifier l'état de la mémoire cache de l'application de la manière suivante :

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

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

window.applicationCache.update();

Si la mise à jour est réussie, permutez l'ancien et le nouveau cache comme suit :

window.applicationCache.swapCache();

0voto

DaveWalley Points 99

Non (pour autant que je sache)

Il semble que les gens veuillent que l'auteur de 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 la réponse "Non" est correcte et répond à la question telle qu'elle est posée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X