2010-04-12 10 views
101

comment recharger une page en cours (en utilisant un bouton) préférez-vous?Méthode préférée pour recharger la page avec JavaScript?

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 souvent une AFAIK 'fonction de repli' comme

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

ne fonctionnera pas pour moi, non?

+0

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

+0

Merci pour l'astuce, Matti! – Mel

+3

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

Répondre

55

Cela dépend de ce que vous voulez faire. Les quatrième et sixième méthodes ne rechargeront aucune donnée de formulaire, elles font 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 ça, j'irais avec le cinquième comme une préférence personnelle. Cela semble le plus clair.

+0

La seconde méthode (.reload) ne fonctionne pas dans certains cas. – Aristos

+0

Ainsi, "document.location.reload (true)" est-il sécurisé par plusieurs navigateurs et le plus robuste? – Mel

+0

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

30

Vous pouvez également faire:

wd représente fenêtre || Document:

  • wd.location.assign (wd.location.href): aller à l'URL
  • wd.location.replace (wd.location.href): aller à l'URL et remplacer la page précédente dans l'histoire
  • wd.location.reload (<true/false/blanc>): reload la page du serveur/cache/cache