refresh on page

0

Good morning! I would like the help of you, because I need to refresh a page at a certain time, I got this script, but it is not working. If you can help me, thank you.

<script language="JavaScript">
function atualizaPagina(){
      momentoAtual = new Date();
      hora = momentoAtual.getHours();
      minuto = momentoAtual.getMinutes();
     segundo = momentoAtual.getSeconds();

horaAtual = hora + ":" + minuto + ":" + segundo;

if(horaAtual=='3:04:0') window.location.href='painel_unidade_1.php';
if(horaAtual=='12:0:0') window.location.href='painel_unidade_5.php';
setTimeout("atualizaPagina()",1000);
}
atualizaPagina();
</script>
    
asked by anonymous 03.09.2017 / 08:20

1 answer

2

The function / method setTimeout should be used as follows:

setTimeout(função, tempo);

It will not work if used like this:

// Não funciona
setTimeout("atualizaPagina()", 1000);
// Também não funciona
setTimeout(atualizaPagina(), 1000);

Correct ways to use:

// Funciona
setTimeout(function() { atualizaPagina(); }, 1000);
// Também funciona
setTimeout(atualizaPagina, 1000);

Example working.

function atualizaPagina(){
  momentoAtual = new Date();
  hora = momentoAtual.getHours();
  minuto = momentoAtual.getMinutes();
  segundo = momentoAtual.getSeconds();

  horaAtual = hora + ":" + minuto + ":" + segundo;
  console.log(horaAtual);
  if(horaAtual=="3:41:0"){
    window.location.href='https://pt.stackoverflow.com/questions/234462/refresh-em-pagina';
  }
  if(horaAtual=='4:0:0') {
    window.location.href='https://pt.stackoverflow.com/';
  }
  console.log("ATUALIZANDO ...");
  setTimeout(atualizaPagina, 1000);
}
atualizaPagina();

Extra example

Let's suppose you need to refresh the page one at a time, have you ever imagined having to put lines and condition lines to be able to check the right time for each page? It would give some work also for maintenance.

Thinking about this, we can simplify this whole process by creating a objeto , see below an example.:

// Apenas para exemplo.
// Criamos o objeto RefreshAgenda, e adicionamos as propriedades ( Horários e Páginas ).
// Você pode adicionar quantos quiser, seguindo a mesma estrutura.
var RefreshAgenda = {
  '5:22:0': 'http://uol.com.br',
  '6:28:0': 'https://pt.stackoverflow.com/'
};

And within the atualizaPagina() function, just create a condition that checks whether the RefreshAgenda object contains the index with the value of the horaAtual variable, if it does it refresh.

// Verifica se objeto RefreshAgenda contém o índice horaAtual
if(RefreshAgenda[horaAtual]){
  console.log(horaAtual + " Redirecionando para.: " + RefreshAgenda[horaAtual]);
  window.location.href= RefreshAgenda[horaAtual];
}

// Apenas para exemplo.
// Criamos o objeto RefreshAgenda, e adicionamos as propriedades ( Horários e Páginas ).
// Você pode adicionar quantos quiser, seguindo a mesma estrutura.
var RefreshAgenda = {
  '4:50:0': 'http://uol.com.br',
  '5:50:0': 'https://pt.stackoverflow.com/'
};

function atualizaPagina(){
  momentoAtual = new Date();
  hora = momentoAtual.getHours();
  minuto = momentoAtual.getMinutes();
  segundo = momentoAtual.getSeconds();

  horaAtual = hora + ":" + minuto + ":" + segundo;
  // Verifica se objeto RefreshAgenda contém o índice horaAtual
  if(RefreshAgenda[horaAtual]){
    console.log(horaAtual + " Redirecionando para.: " + RefreshAgenda[horaAtual]);
    window.location.href= RefreshAgenda[horaAtual];
  }
  setTimeout(atualizaPagina, 1000);
}
atualizaPagina();
    
03.09.2017 / 08:41