Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, tudo bom ?
Estou com uma dúvida... Tenho uma função javascript em que faz algumas requisições de uma API... porem eu tenho q chamar essa api a cada 4 minutos! (caso o usuário tenha ativado).
Tudo bem...
essa função está em um arquivo chamado: Ativador.js
E está configurada na index.php do meu site... (ao usuário apertar o botão ATIVAR, ele faz a requisição e com o SetInterval chama ela novamente a cada 4 minutos). Mas ai que vem minha dúvida...
Ao usuário mudar de pagina, a função para e o usuário teria que apertar ATIVAR novamente...
Gostaria de saber como fazer com que se o botão ativar for acionado e a função estivesse chamada (fazendo as requisições a cada 4 minutos) e o usuário mudasse de pagina isso continuaria... (Fazendo as requisições a cada 4 minutos) estilo o mini player do youtube.... POREM SE O USUÁRIO SAIR DO SITE E VOLTAR NOVAMENTE A FUNÇÃO ESTARIA DESATIVADA (O usuário teria que acionar o botão ativar novamente.,)
Obrigado. Ficou meio confuso se não tiverem entendido posso explicar melhor! Só queria um norte pois não sei como iniciar, tentei fazer algo com o LocalStorage ... declarando que a função está ativada e etc... mas tive problemas!
>
3 minutos atrás, gabrielms disse:
@Pitag346 Você pode usa os Cookies para passar informações de uma página para outra, assim passando a informação ativo para as outras página.
Aqui tem um tutorial de como utilizar https://www.w3schools.com/js/js_cookies.asp.
Obs..: Lembre de adicionar um tempo para o Cookie expirar.
Esse é o detalhe... Quando o usuário fechar a pagina e voltar (as vezes rapidamente) o cookie pode ainda estar disponível ou seja, a função ira continuar ativa! Tem algum forma de eu definir para os cookies expirarem caso fechar a pagina ?
@Pitag346 Coloca um Cookies com um contador de tempo que vai ficar se atualizando com mais freqüência.
Caso essa funcionalidade seja essencial na sua aplicação, você pode colocar em seu layout uma transição por javascript, assim a pagina vai mudar e o script só vai rodar somente quando a pagina ficar aberta.
Você também pode optar por Socket Web.
@Pitag346 Você pode usa os Cookies para passar informações de uma página para outra, assim passando a informação ativo para as outras página.
Aqui tem um tutorial de como utilizar https://www.w3schools.com/js/js_cookies.asp.
Obs..: Lembre de adicionar um tempo para o Cookie expirar.