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?

Mel
la source
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.

tloflin
la source
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
vol7ron
la source