Por que atualizar a página com código?
\n\nImagine: você está criando um chat, um jogo online ou um formulário de contato. O usuário enviou os dados — e tudo parou. Para ver o resultado, ele precisa apertar F5 ou clicar no botão do navegador. Incômodo, certo?
\n\nAgora imagine que a página se atualiza sozinha — assim que a ação é concluída. Mágica? Não, é puro JavaScript e algumas linhas de código. É exatamente sobre isso que vamos falar hoje.
\n\nO tema parece simples à primeira vista, mas até desenvolvedores experientes às vezes confundem os métodos location.reload() e window.location.href. Vamos analisar todas as opções, armadilhas e melhores práticas. Vamos lá!
O protagonista: location.reload()
\n\nA maneira mais popular e correta de atualizar a página via JavaScript é o método location.reload(). Ele faz exatamente o que está escrito: recarrega o documento atual.
// A opção mais simples\nlocation.reload();\n\nMas há um detalhe. Este método aceita um parâmetro opcional — o valor booleano forceGet.
- \n
location.reload()— recarrega a página usando o cache do navegador, se possível. \n location.reload(true)— carregamento forçado do servidor, ignorando o cache. \n
A diferença é perceptível quando você trabalha com dados dinâmicos. Se você precisa garantir a obtenção da versão mais recente da página — use true.
Comparação: reload() vs window.location.href
\n\nNo Stack Overflow, frequentemente perguntam: "Posso simplesmente atribuir window.location.href = window.location.href?"
Resposta curta: pode, mas é uma gambiarra. Resposta longa — veja a tabela.
\n\nTabela comparativa dos métodos de recarregar página
\n\n| Método | \nComportamento | \nUsa cache | \nRecomendado | \n
|---|---|---|---|
location.reload() | \n Recarrega a página | \nSim (padrão) | \n✅ Sim | \n
location.reload(true) | \n Recarregamento forçado do servidor | \nNão | \n✅ Sim | \n
window.location.href = window.location.href | \n Redireciona para a mesma página | \nSim | \n⚠️ Com cuidado | \n
window.location = window.location | \n Mesma coisa, mais curto | \nSim | \n⚠️ Com cuidado | \n
history.go(0) | \n Vai para a página atual no histórico | \nSim | \n❌ Obsoleto | \n
Como você pode ver, location.reload() é a maneira mais confiável e previsível. As outras opções podem funcionar de forma instável em diferentes navegadores.
Atualização automática em intervalo definido
\n\nÀs vezes, é necessário que a página se atualize automaticamente — por exemplo, para exibir a cotação de moedas ou o status do servidor. É aí que entram setTimeout ou setInterval.
Atualização após 5 segundos do carregamento
\n\n// Aguarda 5 segundos e recarrega\nsetTimeout(function() {\n location.reload(true);\n}, 5000);\n\nAtualização periódica a cada 30 segundos
\n\n// Atualizar a página a cada 30 segundos\nsetInterval(function() {\n location.reload();\n}, 30000);\n\nImportante: Não abuse do recarregamento automático. Se a pági