¿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?


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.


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é
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.