Jump to content
Pitag346

Manter função em outras paginas!

Recommended Posts

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! 

Share this post


Link to post
Share on other sites
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 ?

Share this post


Link to post
Share on other sites

@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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By daviassumpcao
      Tenho uma lista de DIV's com a mesma class name informado valor de desconto nos itens porém está dando casa decimal e gostaria de tirar isso... utilizei o Math.round()  porém não está surtindo efeito. Seria pegar esse valor --> aplicar esse Math.round() e devolver corrigido. É possível fazer isso sem informar o valor literal do registro? Até anexei um print do console da página
       
      function porcentagem(){ var a = document.getElementsByClassName('prateleira-label-desconto').value; b = Math.round(a); document.getElementsByClassName("prateleira-label-desconto").innerHTML= b; }  

    • By lezão
      Ola boa noite!
      td bem com vcs?
       
      Galera estou precisando de  um codigo que quando der um certo horario tipo 10:00 hs da manhã o codigo mostra a div.
      E as 16:00 hs o codigo OCULTA a div automaticamente.
       
      Tenho um Codigo que faz isso, mas tem q clicar em um botão, vejam abaixo:
      <script src="https://stacksnippets.net/scripts/snippet-javascript-console.min.js?v=1"></script> <div id="minhaDiv" style="display:none">Conteudo</div> <button type="button" onclick="Mudarestado('minhaDiv')">Mostrar / Esconder</button> <script type="text/javascript"> function Mudarestado(el) { var display = document.getElementById(el).style.display; if (display == "none") document.getElementById(el).style.display = 'block'; else document.getElementById(el).style.display = 'none'; } </script> obrigado!
    • By gugacdb
      Gostaria de uma ajuda com uma questão relacionada ao nodejs.
       
      Estou tentando salvar informações que recebo de um arquivo local json ao banco de dados.
       
      esse arquivo me traz varias objetos, e o que preciso fazer é salvar objeto por objeto exemplo:
       
      let pessoa = [ {nome : 'Fulano1' , sobrenome : 'Beltrano1', idade : 80} {nome : 'Fulano2' , sobrenome : 'Beltrano2', idade : 90} {nome : 'Fulano3' , sobrenome : 'Beltrano3', idade : 100} ]  
      Estou realizando um laço para salvar cada volta, pois preciso inferir uma data em cada objeto.

      Estou tentando salvar utilizado o:
       
      do{}while(i > contador) Código que estou tentando usar:
       
      setUm = async (req, res, next) => { fs.readFile('./public/assets/images/data_dragon/pt_br/data/set1-pt_br.json' , 'utf8' , function(err , data ){ if(err){ return console.log('erro ao ler o arquivo'); } let jsonData = JSON.parse(data); let counter = jsonData.length; let i = -1; do{ i = i + 1; let dataSave = { associatedCards : jsonData[i].assets, associatedCardRefs : jsonData[i].associatedCardRefs, assets : jsonData[i].assets, region : jsonData[i].region, egionRef : jsonData[i].regionRef, attack : jsonData[i].attack, cost : jsonData[i].cost, health : jsonData[i].health, description : jsonData[i].description, descriptionRaw : jsonData[i].descriptionRaw, levelupDescription : jsonData[i].levelupDescription, levelupDescriptionRaw : jsonData[i].levelupDescriptionRaw, flavorText : jsonData[i].flavorText, artistName : jsonData[i].artistName, name : jsonData[i].name, cardCode : jsonData[i].cardCode, keywords : jsonData[i].keywords, keywordRefs : jsonData[i].keywordRefs , spellSpeed : jsonData[i].spellSpeed, spellSpeedRef : jsonData[i].spellSpeedRef, rarity : jsonData[i].rarity, rarityRef : jsonData[i].rarityRef, subtype : jsonData[i].subtype, subtypes : jsonData[i].subtypes, supertype : jsonData[i].supertype, type : jsonData[i].type, collectible : jsonData[i].collectible, set : jsonData[i].set, } const infosave = new Infocard(dataSave); try{ infosave.save(); }catch (e) { console.error('ROLOU ALGO DE ERRADO: '+ e.message); } }while(i < counter); res.json(dataSave); }); }  Abaixo meu model:
       
      const Infocard = new mongoose.Schema( { associatedCards : [String], associatedCardRefs : [String], assets : [String], region : String, regionRef : String, attack : Number, cost : Number, health : Number, description : String, descriptionRaw : String, levelupDescription : String, levelupDescriptionRaw : String, flavorText : String, artistName : String, name : String, cardCode : String, keywords : [String], keywordRefs : [String], spellSpeed : String, spellSpeedRef : String, rarity : String, rarityRef : String, subtype : String, subtypes : [String], supertype : String, type : String, collectible : Boolean, set : String, },{ timestamps : {createdAt : 'created_at'} } );
       
      Porem não estou obtendo sucesso. Quando chamo
      res.json(jsonData) o json carrega normalmente no navegador com todas as informações, porém quando vou tentar salvar no banco de dados os itens chegam vazios

      Ideias são apreciadas.

      Obrigado!
    • By cfandrade
      Estou tentando fazer a mudança dos (li) desse sistema que chamei de PRONTUARIOS, apenas arrastando de uma (ul) atual para outra que chamei de CAIXA, estou tentando recuperar o valor do id do prontuario (li) e a caixa atual que o usuário deixou o prontuario caso tenha mudado para uma nova caixa (ul). se alguem puder me ajudar, preciso recuperar o valor desses ids e atualizar no banco de dados!
       
       <script type="text/javascript">          $(document).ready(function() {              $("ul").sortable({                 delay: 150,                 connectWith: ".parent",                 cursor: 'move',                 stop: function() {                     var caixaAtual = new Array();                     var prontuario = '';                     $('li .prontuario').each(function() {                         //caixaAtual = $("data-id").html();                         //prontuario = $("data-id").val(this);                     });                     console.log(prontuario);                     //updateOrder(prontuario,caixaAtual);                 }             });              function updateOrder(id,caixa) {                 $.ajax({                     url:"documentos/alterar_prontuario",                     type:'post',                     data:{id:id,caixa:caixa},                     success:function(data){                         toastr.success('Alterado com sucesso.');                     }                 })             }         }); <div class="container mx-auto mt-3 mb-5 text-center"> <h4 class="col-12 text-center mx-auto">LISTAGEM SEGUNDO VOLUME</h4> CAIXA N° 01 <ul id="c_01" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="239" data-id="239" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ADRIANO ALVES DE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">617.598-8</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1257101/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" </tr> </tbody></table> </li> <li id="247" data-id="247" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX JORGE MELO DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">664.041-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1251911/2020</td> </tr> </tbody></table> </li><li id="241" data-id="241" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEF DA SILVA OLIVEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.199.560-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="240" data-id="240" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX ALVES CERQUEIRA</td> <td class="col-2 align-middle mx-auto p-0 text-center">340.704-6</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1809667/2020</td> </tr> </tbody></table> </li> <li id="248" data-id="248" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX XAVIER PIAUI</td> <td class="col-2 align-middle mx-auto p-0 text-center">771.513-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243357/2020</td> </tr> </tbody></table> </li> <li id="249" data-id="249" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">7</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE DE OLIVEIRA MEDEIROS</td> <td class="col-2 align-middle mx-auto p-0 text-center">893.604-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1415815/2020</td> </tr> </tbody></table> </li><li id="246" data-id="246" class="col-12 mx-auto prontuario ui-sortable-handle" style="position: relative; left: 0px; top: 0px;"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEX EDUARDO DE JESUS LOURENCO</td> <td class="col-2 align-middle mx-auto p-0 text-center">236.643-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1392042/2020</td> </tr> </tbody></table> </li> <li id="250" data-id="250" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">8</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXANDRE PEREIRA DA COSTA</td> <td class="col-2 align-middle mx-auto p-0 text-center">932.592-9</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1532754/2020</td> <td class="d-print-none col-1 align-middle mx-auto p-0 text-center"><a type="button" class="btn btn-outline-danger" href="http://10.14.101.160/cimic/?url=documentos/excluir_segundo_volume/250" title="APAGAR"><i class="fa fa-trash"></i></a></td> </tr> </tbody></table> </li> </ul> CAIXA N° 02 <ul id="c_02" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="242" data-id="242" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ALEXSANDRO HENRIQUE FRANCA CAMARGO DE MOURA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.224.350-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2092453/2020</td> </tr> </tbody></table> </li> <li id="251" data-id="251" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AMAURI FERREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">613.004-1</td> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-2 align-middle mx-auto p-0 text-center">1243426/2020</td> </tr> </tbody></table> </li> <li id="prontuario" data-id="243" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0"> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">3</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON LIMA RIBEIRO GONCALVES</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.164.179-2</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="252" data-id="252" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">4</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDERSON SOUZA VELOSO</td> <td class="col-2 align-middle mx-auto p-0 text-center">277.426-3</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="244" data-id="244" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">5</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE ALMEIDA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.096.394-0</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center"></td> </tr> </tbody></table> </li> <li id="245" data-id="245" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">6</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDRE LUIZ RODRIGUES</td> <td class="col-2 align-middle mx-auto p-0 text-center">465.133-7</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">2213488/2020</td> </tr> </tbody></table> </li> </ul> CAIXA N° 03 <ul id="c_03" class="col-12 parent mt-0 mb-2 ui-sortable"> <li id="253" data-id="253" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-5 align-middle mx-auto p-0 text-left">ANDREO LEONE FERREIRA LOBATO</td> <td class="col-2 align-middle mx-auto p-0 text-center">719.305-5</td> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-2 align-middle mx-auto p-0 text-center">1359268/2020</td> </tr> </tbody></table> </li> <li id="254" data-id="254" class="col-12 mx-auto prontuario ui-sortable-handle"> <table class="table table-hover table-sm mb-0 "> <tbody><tr class="row col-12 mx-auto text-center"> <td class="col-1 align-middle mx-auto p-0 text-center">2</td> <td class="col-5 align-middle mx-auto p-0 text-left">AUGUSTO PEREIRA DA SILVA</td> <td class="col-2 align-middle mx-auto p-0 text-center">1.094.345-4</td> <td class="col-1 align-middle mx-auto p-0 text-center">1</td> <td class="col-2 align-middle mx-auto p-0 text-center">1183605/2020</td> </tr> </tbody></table> </li> </ul> </div>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.