¿Método preferido para recargar la página con JavaScript? [cerrado]

103

¿Qué forma de recargar una página actual (usando un botón) prefiere?

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">

Como la URL de la página cambia con frecuencia, AFAIK, una 'función de respaldo' como

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

no funcionará para mí, ¿verdad?

Mel
fuente
Tenga en cuenta que los números 2 y 3 son lo mismo
Matti Virkkunen
3
Los números 4 y 6 no recargarán nada si hay un # presente en la url
jontro
2
Los números 2, 3 y 5 no son implementados por todos los navegadores, use *.location.reload()como argumento solo se usa para especificar si la caché debe ser ignorada. stackoverflow.com/questions/10876244/…
Dead.Rabit
OP perdió el método más preferido de todos: location.reload ();
Doug S

Respuestas:

57

Depende de lo que quieras hacer. Los métodos cuarto y sexto no recargan ningún dato de formulario, esencialmente hacen una visita por separado a la página. Algunas versiones de Firefox también tienen problemas con el tercer método. Aparte de eso, iría con el quinto como preferencia personal. Parece el más claro.

tloflin
fuente
El segundo método (.reload) no funciona en algunos casos.
Aristos
entonces, "document.location.reload (true)" ¿es seguro para todos los navegadores y es el más sólido?
Mel
@Mel, eso creo. Realmente, tanto la ventana como el documento deberían funcionar.
tloflin
10
tenga en cuenta que cuando utilice document.location.reload () en un POST, el navegador le preguntará si desea reenviar los datos para volver a cargar la página.
wimh
Wimmel, sí para arreglar eso usa el patrón PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha
30

También puede hacer:

wdrepresenta ventana || documento :

  • wd.location.assign (wd.location.href) : vaya a la URL
  • wd.location.replace (wd.location.href) : vaya a la URL y reemplace la página anterior en el historial
  • wd.location.reload (<true / false / blank>) : recarga la página desde el servidor / caché / caché
vol7ron
fuente