Méthode préférée pour recharger la page avec JavaScript? [fermé]


103

quelle façon de recharger une page actuelle (à l'aide d'un bouton) préférez-vous?

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

Comme l'URL de la page change fréquemment, AFAIK une `` fonction de secours '' comme

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

ne fonctionnera pas pour moi, non?


Notez que les numéros 2 et 3 sont la même chose
Matti Virkkunen

3
Les numéros 4 et 6 ne rechargeront rien s'il y a un # présent dans l'url
jontro

2
Les numéros 2, 3 et 5 ne sont pas implémentés par tous les navigateurs, utiliser *.location.reload()comme argument n'est utilisé que pour spécifier si le cache doit être ignoré. stackoverflow.com/questions/10876244/…
Dead.Rabit

OP a raté la méthode préférée de tous: location.reload ();
Doug S

Réponses:


57

Tout dépends de ce que tu veux faire. Les quatrième et sixième méthodes ne rechargeront aucune donnée de formulaire, elles effectuent essentiellement une visite séparée de la page. Certaines versions de Firefox ont également des problèmes avec la troisième méthode. À part cela, j'irais avec le cinquième comme préférence personnelle. Cela semble le plus clair.


La deuxième méthode (.reload) ne fonctionne pas dans certains cas.
Aristos

Alors, "document.location.reload (true)" est-il sécurisé pour tous les navigateurs et le plus robuste?
Mel

@Mel, je le crois. Vraiment, la fenêtre et le document devraient tous deux fonctionner.
tloflin

10
notez que lorsque vous utilisez document.location.reload () sur un POST, le navigateur vous demandera si vous souhaitez renvoyer les données pour recharger la page.
wimh

Wimmel, oui pour corriger cela, utilisez le modèle PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha

30

Vous pouvez également faire:

wdreprésente la fenêtre || document :

  • wd.location.assign (wd.location.href) : accédez à l'URL
  • wd.location.replace (wd.location.href) : accédez à l'URL et remplacez la page précédente de l'historique
  • wd.location.reload (<true / false / blank>) : recharger la page à partir du serveur / cache / cache
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.