J'ai une ancienne version d'un fichier JS mis en cache sur les navigateurs des utilisateurs, avec expiration définie sur 10 ans (depuis lors, j'ai appris à définir les en-têtes d'expiration correctement sur mon serveur Web). J'ai mis des mises à jour du fichier JS et je souhaite que mes utilisateurs bénéficient d'eux. P>
EDIT: Idéalement, je veux résoudre ce problème sans em> changer de balisage HTML sur la page qui héberge le script. P>
4 Réponses :
En bref ... non.
Vous pouvez ajouter quelque chose à la fin de l'adresse source de la balise de script. Les navigateurs traiteront cela comme un fichier différent de celui qu'ils ont actuellement mis en cache. P> pas sûr de vos autres options. P> P>
L'inconvénient de cette approche est que cela me force à changer de balisage. Certains autres sites Web ont déjà déployé mon script et je déteste avoir à leur demander de changer de code.
Bénéfice en écrivant un blog confessionnel post sur les dangers de la création de décisions de mise en cache de contenu Brash. Je vais redditer pour toi.
Vous pouvez ajouter un paramètre factice à vos URL
<script src='oldscriptname.js?foo=bar'></script>
Dans HTML5, vous pouvez utiliser le cache d'applications, de cette façon que vous pouvez contrôler lorsque le cache doit expirer
Vous devez ajouter le chemin d'accès au manifeste p>
dans votre fichier Demo.AppCache Vous pouvez simplement placer chaque fichier que vous souhaitez mettre en cache p> simplement de modifier le manifeste de cache avec la date de publication ou la version (ou autre chose ) de cette façon où le navigateur voit que le manifeste a changé, il téléchargera tous les fichiers de celui-ci. p> Si le manifeste n'est pas modifié, le navigateur ne mettra pas à jour le fichier local, même si ce fichier était modifié sur Le serveur. P> Pour plus d'informations, veuillez consulter Cache de l'application HTML5 a> p> p> code> p>
Vous pouvez forcer à recharger un document cachalé avec JavaScript: La commande vraie indique que le navigateur doit recharger la page sans cache. P> P>