Recarregar a página com JavaScript: location.reload()

Recarregar uma página com JavaScript

JavaScript location.reload(): atualize uma página do jeito certo | We.Inc

Recarregue a página com location.reload(), compare com history.go(0), replace e meta refresh, gere código de atualização temporizada e entenda o que reload(true) faz de verdade.

Chame location.reload() para recarregar a página atual, exatamente como faz o botão de recarregar do navegador. Ele não recebe argumentos padrão. A forma antiga reload(true), que servia para pular o cache, é um parâmetro fora do padrão que o MDN lista como suportado só no Firefox, então os outros navegadores ignoram o true. history.go(0) também recarrega.

Formas de atualizar ou mudar a página

Recarregar é uma linha de código, mas os motivos para isso variam: pegar dados novos, resetar um estado travado, atualizar um dashboard em um intervalo ou forçar uma nova versão do site. Este guia mostra a chamada padrão, o que as variações mais antigas realmente fazem e como evitar recarregar quando tudo o que você precisa é buscar dados novos.

Perguntas frequentes

O location.reload(true) limpa o cache?

Não de forma confiável. O argumento forceGet não faz parte do padrão HTML, e o MDN observa que só o Firefox o suporta. Os outros navegadores o ignoram e fazem um reload normal. Para garantir que as pessoas recebam arquivos novos, coloque versão nas URLs dos seus arquivos ou defina headers Cache-Control adequados.

Qual a diferença entre location.reload() e location.href = location.href?

O reload() sempre recarrega o documento atual. Atribuir o href inicia uma navegação para essa URL, e quando a URL contém um #fragmento o navegador só rola até o fragmento, então nada é recarregado. Use reload() quando o que você quer é recarregar.

Como atualizo uma página a cada 30 segundos?

Sem script, adicione <meta http-equiv="refresh" content="30"> ao head. Com script, setTimeout(() => location.reload(), 30000). Use a atualização automática com moderação: o MDN avisa que atualizações inesperadas podem desorientar as pessoas e entrar em conflito com as orientações da WCAG sobre tempo.

Um script pode recarregar uma página de outro site?

Não. Chamar reload no Location de outra origem lança uma DOMException SecurityError, então um script dentro de um iframe de outro site não pode recarregar a página pai, e a página pai não pode recarregá-lo desse jeito.

Como recarrego a página só uma vez?

Marque que você já recarregou, por exemplo com uma flag no sessionStorage ou um parâmetro de query como ?r=1, e confira antes de chamar o reload. Sem essa proteção, um código que recarrega no carregamento cria um loop infinito.

Recarregar versus buscar dados novos

Por que um reload ainda pode mostrar arquivos antigos

Código de reload para colar

Um botão de recarregar

O handler de clique chama o reload padrão sem argumento.

Atualizar em um intervalo, mas só com a aba visível

Abas escondidas são puladas, e uma aba que volta depois do intervalo recarrega na hora.

Recarregar exatamente uma vez

A flag no sessionStorage sobrevive ao reload na mesma aba, então o segundo carregamento a pula.

Avisar antes de recarregar com alterações não salvas

Os navegadores só mostram o aviso depois que a pessoa interagiu com a página, e usam as próprias palavras.

Gerador de código de atualização

Escolha como e com que frequência a página deve atualizar, depois copie o trecho.

Método

Recarregar agora

Timer em JavaScript

Timer, só com a aba visível

Meta refresh em HTML

A cada {n} segundos

Trecho

Teste nesta página

location.reload()

history.go(0)

Os dois botões recarregam esta página. Tudo o que foi digitado acima será perdido.

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site