Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandraum

Cookie + DIV

Recommended Posts

Boa tarde pessoal,

 

 

antes de postar, pesquisei bastante, tanto no Google, qnto aki no Forum, mas não achei uma solução. Consegui criar, ler e apagar o Cookie, mas, não aplicando a minha necessidade.

 

Na minha pagina em HTML tenho uma DIV onde ela inicialmente esta a mostra, nela, ha uma iframe chamando uma pagina em PHP com uma "enquete", apos 10 segundos , ou quando a pessoa clicar no botão "fechar" q inseri no topo da div, a mesma é "escondida". So para questão de informação, na enquete, ela "pega" o IP, Data e salva no Banco de Dados, com isso, o usuario nao vota + de 1 vez.

Ate aki tudo bem...

 

O que eu queria, era q, se a pessoa clicar no botão "fechar" inserido na DIV, significa q possivelmente ela não quer votar na enquete, com isso, seria gravado um cookie com validade de 1 dia ou mais. Com isso, assim q o usuario abrir o site novamente, essa DIV não iria aparecer, pois anteriormente ele optou por fechar a DIV.

 

 

 

Quem puder ajudar ae, vlws d+++...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, solucionei o problema, + gerei outro... heeh...

 

Abaixo segue a solução q encontrei e aki funfou:

 

Insira esse codigo JS dentro de HEAD.

 


 

   for(var i=0;i < dcmntCookie.length;i++){

 

   var ck = dcmntCookie;

   while (ck.charAt(0)==' '){

      ck = ck.substring(1,ck.length);

   }

 

   if(ck){

      cparts = ck.split('=');

 

   if (cparts[0]==name){

 

      flag=1;

      document.getElementById('enquete').style.display="none";

      document.getElementById('enquete').style.visibility="hidden";

      break;

   }

  }

}

 

   if(!flag)

      createCookie(name,"ENQUETE",1); //CONTEUDO DO COOKIE

}

 

function testCookie(name){

   var flag = 0;

   var dcmntCookie = document.cookie.split(';');

 

   for(var i=0;i < dcmntCookie.length;i++){

 

   var ck = dcmntCookie;

   while (ck.charAt(0)==' '){

      ck = ck.substring(1,ck.length);

   }

 

   if(ck){

      cparts = ck.split('=');

 

   if (cparts[0]==name){

 

      flag=1;

      document.getElementById('enquete').style.display="none";

      document.getElementById('enquete').style.visibility="hidden";

      break;

   }

  }

}

}

linenums:0'>function createCookie(name,value,days){ // FUNCAO PARA CRIAR O COOKIE   if (days){ var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); // CRIA COOKIR COM VALIDADE DE 24HRS var expires = "; expires="+date.toGMTString();   }   else var expires = "";   document.cookie = name+"="+value+expires+"; path=/";}function readCookie(name){   var flag = 0;   var dcmntCookie = document.cookie.split(';');    for(var i=0;i < dcmntCookie.length;i++){    var ck = dcmntCookie;   while (ck.charAt(0)==' '){       ck = ck.substring(1,ck.length);   }   if(ck){      cparts = ck.split('=');    if (cparts[0]==name){      flag=1;      document.getElementById('enquete').style.display="none";       document.getElementById('enquete').style.visibility="hidden";       break;   }  } }   if(!flag)       createCookie(name,"ENQUETE",1); //CONTEUDO DO COOKIE}function testCookie(name){   var flag = 0;   var dcmntCookie = document.cookie.split(';');    for(var i=0;i < dcmntCookie.length;i++){    var ck = dcmntCookie;   while (ck.charAt(0)==' '){       ck = ck.substring(1,ck.length);   }   if(ck){      cparts = ck.split('=');    if (cparts[0]==name){      flag=1;      document.getElementById('enquete').style.display="none";       document.getElementById('enquete').style.visibility="hidden";       break;   }  } }}

Dentro da tag BODY, insira:  

<body onload="testCookie('ENQUETE_STATUS')">
Sendo que "ENQUETE_STATUS" é o nome do cookie.

 

E por fim, a DIV em questão (exemplo):

 

<div id="enquete" style="position:absolute; left:273px; top:211px; width:313px; height:245px; z-index:1; border: 1px none #000000; overflow: hidden;">   <div align="right"><font color="#FF0000" size="2"><strong><font face="Courier New, Courier, mono"><a href="#" onclick="MM_showHideLayers('enquete','','hide'), readCookie('ENQUETE_STATUS')"><img src="imagens/close.gif" width="12" height="12"></a></font></strong></font>   </div>  <iframe frameborder="0" width="303" height="240" src="enquete/index.php" marginheight="0" marginwidth="0" align="middle"></iframe></div>

 

Basicamente, o codigo acima faz o q eu queria, o seja, se o usuario clicar no botão fechar da DIV, q nada + é q um GIF, ele cria o cookie, ae qndo a pagina é carregada a função "onload" inserida na tag BODY verifica se existe o cookie; se existir, a DIV fica escondida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.