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();