121 votes

location.reload(true) est obsolète

Je sais qu'il n'est pas idéal de recharger une application monopage Angular. Cependant, il y a un endroit où j'ai besoin de recharger l'application complète.

TSLint dit que reload est déprécié.

Existe-t-il une alternative à cela ?

7 votes

C'est seulement l'indicateur forceReload qui est déprécié.

0 votes

Cela répond-il à votre question ? Comment recharger une page en utilisant JavaScript

0 votes

C'est assez utile dans certains navigateurs comme Firefox, mais si vous supprimez cette fonction, vous devrez trouver un moyen de la recharger de force.

8voto

Charith Jayasanka Points 1607

Changer location.reload(true) a location.reload() travaux. forcedReload est celui qui est déprécié.

2voto

Dimitri Dumont Points 13

J'ai créé un petit paquet afin d'avoir une solution pour nettoyer le cache et recharger la page si nécessaire : https://www.npmjs.com/package/clear-cache

clearCache() o clearCache(false) lorsque vous voulez seulement vider le cache mais ne voulez pas recharger la page.

0voto

OMA Points 379

Je pense que la meilleure et la plus efficace façon de rafraîchir (et pas seulement de recharger) la page est d'utiliser un formulaire avec method="post", une action vide et un bouton "submit", puisque les requêtes "post" ne sont jamais mises en cache. C'est simple et efficace, et cela fonctionne même sans aucun JavaScript !

<form action="" method="post">
    <button type="Submit">Refresh</button>
</form>

Si vous devez le faire de manière programmatique, vous pouvez simplement masquer le bouton avec une feuille de style CSS et déclencher l'action de clic dans le bouton avec JavaScript.

Merci à @Martin Schneider pour son idé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