Como recarregar a página a cada 5 segundos?


183

Estou convertendo um layout para html; Depois de fazer as alterações no código / html / css, toda vez que tenho que pressionar F5. Existe alguma solução javascript / jQuery simples para isso? Ou seja, depois de adicionar o script, recarregue a página inteira a cada 5 segundos (ou outra hora específica).

Respostas:


382
 <meta http-equiv="refresh" content="5; URL=http://www.yourdomain.com/yoursite.html">

Se precisar estar no script, use setTimeout como:

setTimeout(function(){
   window.location.reload(1);
}, 5000);

4
Eu acho que essa é provavelmente a melhor maneira de fazer isso do que em javascript.
Rich

1
Se o caso de uso era que a página precisava ser atualizada para os visitantes, eu poderia concordar, mas para fins de desenvolvimento, é uma vantagem ter um bloco de código que você pode inserir na página sem precisar atualizar um URI a cada vez. Dependendo do JS não é um problema quando o desenvolvedor é todo o público-alvo.
Quentin

4
location.reload (1) repetirá um POST se a página atual for o resultado de um POST. Isso pode não ser desejável, se você deseja replicar a atualização meta em Javascript.
Reuben

2
Recarregar a página atual não requer que você especifique a página, Apenas:<meta http-equiv="refresh" content="5">
ashleedawg 5/02/19

146

Para recarregar a mesma página, você não precisa do segundo argumento. Você pode apenas usar:

 <meta http-equiv="refresh" content="30" />

Isso aciona uma recarga a cada 30 segundos.


3
É desencorajado quando usado para redirecionar . Não está obsoleto. (E ele vem em muito útil quando você quiser atualizar uma página e são preguiçosos demais para aprender ajax :)
DinoCoderSaurus

Isso não está funcionando para mim. Tentei adicionar esta linha a este codepen sem sucesso. codepen.io/css-support/pen/bspdK
lolololol

1
@lololololol Você deve adicioná-lo na configuração "Material para <head>" na área Configurações de caneta do HTML. Não funciona se você o colocar no script real.
Bret

23

Para recarregar automaticamente e limpar o cache após 3 segundos, você pode fazer isso facilmente usando a função setInterval do javascript. Aqui está um código simples

$(document).ready(function() {
  setInterval(function() {
    cache_clear()
  }, 3000);
});

function cache_clear() {
  window.location.reload(true);
  // window.location.reload(); use this if you do not remove cache
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<p>Auto reload page and clear cache</p>

e você também pode usar meta para isso

<meta http-equiv="Refresh" content="5">

A atualização de página <script> está funcionando, mas você pode explicar como está limpando o cache? ou está apenas atualizando o cache .. pls explica.
Silver

stackoverflow.com/questions/5721704/... , se você quiser se inclinar mais, por favor, google it
Shafiqul Islam


10

Há uma ferramenta automática de atualização por alteração para o IE. Chama-se ReloadIt e está disponível em http://reloadit.codeplex.com . Livre.

Você escolhe um URL que deseja recarregar automaticamente e especifica um ou mais caminhos de diretório para monitorar alterações. Pressione F12 para iniciar o monitoramento.

insira a descrição da imagem aqui

Depois de configurá-lo, minimize-o. Em seguida, edite seus arquivos de conteúdo. Quando você salva qualquer alteração, a página é recarregada. como isso:

insira a descrição da imagem aqui

Simples. fácil.


2
Boa ferramenta para o IE, e obrigado pela coisa animada. Como posso criar o mesmo?
Wasim Shaikh

@WasimShaikh - Grave sua tela em um GIF animado usando ScreenToGIF .
ashleedawg

5

A resposta fornecida por @jAndy deve funcionar, mas no Firefox você pode enfrentar um problema, window.location.reload (1) ; pode não funcionar, essa é a minha experiência pessoal.

Então, eu gostaria de sugerir:

setTimeout(function() { window.location=window.location;},5000);

Isso é testado e funciona bem.


3

Uma alternativa decente se você estiver usando o Firefox, é o plugin XRefresh . Ele recarregará sua página sempre que detectar que o arquivo foi modificado. Portanto, em vez de apenas atualizar a cada 5 segundos, ele será atualizado quando você clicar em Salvar no seu editor de HTML.



2

Se você estiver desenvolvendo e testando no Firefox, há um plug-in chamado " ReloadEvery " disponível, o que permite recarregar a página nos intervalos especificados.


1

Isso funcionará em 5 segundos.

5000 milissegundos = 5 segundos

Use isso com o target _selfou o que você quiser e o que quer que seja, incluindo a própria página:

<script type="text/javascript">
function load()
{
setTimeout("window.open('http://YourPage.com', '_self');", 5000);
}
</script>
<body onload="load()"> 

Ou isso com auto-automático e sem código de destino com a página que você quiser, incluindo ela mesma:

<script type="text/javascript">
function load()
{
setTimeout("location.href = 'http://YourPage.com';", 5000);
}
</script>
<body onload="load()"> 

Ou isso, se for a mesma página para recarregar-se apenas e direcionar o chapéu sempre que você desejar:

<script type="text/javascript">
function load()
{
setTimeout("window.open(self.location, '_self');", 5000);
}
</script>
<body onload="load()">

Todos os 3 fazem coisas semelhantes, apenas de maneiras diferentes.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.