Actualisation matérielle JavaScript de la page actuelle


176

Comment puis-je forcer le navigateur Web à effectuer une actualisation matérielle de la page via JavaScript?
L'actualisation matérielle signifie obtenir une nouvelle copie de la page ET actualiser toutes les ressources externes (images, JavaScript, CSS, etc.).

Réponses:


296

Essayez d'utiliser:

location.reload(true);

Lorsque cette méthode reçoit une truevaleur comme argument, la page sera toujours rechargée à partir du serveur. S'il est faux ou non spécifié, le navigateur peut recharger la page à partir de son cache.

Plus d'informations:


19
Je suis sûr que cela ne rechargera pas toutes les ressources externes. Vous auriez à lire tous les a, link, scriptet les imgéléments et ajouter une chaîne de requête aléatoire à la fin de chaque référence externe après le rechargement dur. Ou faites-le sur le serveur.
Doug Neiner

3
Cela a-t-il fonctionné en 2010? Cela ne fonctionne certainement pas en 2018 (dans Chrome). Chrome charge tout (sauf / Home / Index) à partir du cache. Il semble fonctionner dans Firefox WTH?
Maciej Szpakowski

1
@MaciejSzpakowski Utiliser Cache.keys () et Cache.delete () a fonctionné pour moi. Exemple: jsfiddle
r.delic

3
Ça ne marche pas pour moi. Cela
n'efface

2
Je pense que cette fonctionnalité est supprimée dans HTML5.
Mygod le

8
window.location.href = window.location.href

4
Cela ne tirera pas la page du serveur si le navigateur l'a mise en cache.
LukeP
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.