Método preferido para recarregar a página com JavaScript? [fechadas]

103

que maneira de recarregar a página atual (usando um botão) você prefere?

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 o URL da página muda frequentemente, AFAIK uma 'função de fallback' como

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

não vai funcionar para mim, certo?

Mel
fonte
Observe que os números 2 e 3 são a mesma coisa
Matti Virkkunen
3
Os números 4 e 6 não recarregarão nada se houver um # presente na url
Jontro
2
Os números 2, 3 e 5 não são implementados por todos os navegadores, use *.location.reload()como argumento apenas para especificar se o cache deve ser ignorado. stackoverflow.com/questions/10876244/…
Dead.Rabit
O OP perdeu o método preferido de todos: location.reload ();
Doug S

Respostas:

57

Depende do que você quer fazer. O quarto e o sexto métodos não recarregam os dados do formulário, eles essencialmente fazem uma visita separada à página. Algumas versões do Firefox também apresentam problemas com o terceiro método. Fora isso, eu escolheria o quinto como uma preferência pessoal. Parece o mais claro.

tloflin
fonte
O segundo método (.reload) não funciona em alguns casos.
Aristos
então, "document.location.reload (true)" é cross-browser seguro e o mais robusto?
Mel
@Mel, acredito que sim. Na verdade, a janela e o documento devem funcionar.
tloflin
10
observe que quando você usa document.location.reload () em um POST, o navegador pergunta se você deseja reenviar os dados para recarregar a página.
wimh 01 de
Wimmel, sim, para consertar isso use o padrão PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha
30

Você também pode fazer:

wd representa janela || documento :

  • wd.location.assign (wd.location.href) : vá para o URL
  • wd.location.replace (wd.location.href) : vá para a URL e substitua a página anterior no histórico
  • wd.location.reload (<true / false / blank>) : recarregar a página do servidor / cache / cache
Vol7ron
fonte