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.