• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

garanhaomen

Definir Cookie

8 mensagens neste tópico

Boas

Tenho o seguinte script ao qual gostaria de adicionar um cookies para a jánela da publicidade so aparecer ao user de 24 em 24 horas

<html>

</head>    

<body>

<style>
#floatLayer{
    width:300px;
    position:absolute;  
    backgroud-color: blue;
}

</style>

<script language=javascript>

    function closeDiv() {
        document.getElementById('floatLayer').style.display = "none";
        return false;
    }

    window.onerror = null;
    var topMargin = 0;
    var slideTime = 2000;

    var ff = (!document.all && document.getElementById);
    var ie = (document.all);

    function layerObject(id)
    {
        this.obj = document.getElementById(id).style;
        return this.obj;
    }

    function layerSetup()
    {
        floatLyr = new layerObject('floatLayer');
        window.setInterval("main()", 10)
    }

    function floatObject()
    {
        findHt = document.body.clientHeight;
    }

    function main()
    {
        this.currentY = parseInt(document.getElementById('floatLayer').style.top);        
        this.scrollTop = (ff) ? scrollY : document.body.scrollTop;
        mainTrigger();          
    }

    function mainTrigger() {
        var newTargetY = this.scrollTop + this.topMargin;
        if ( this.currentY != newTargetY ) {
            if ( newTargetY != this.targetY ) {
                this.targetY = newTargetY;
                floatStart();
            }
            animator();
            }
        }

    function floatStart()
    {
        var now = new Date();
        this.A = this.targetY - this.currentY;
        this.B = Math.PI / ( 1 * this.slideTime );
        this.C = now.getTime();
        if (Math.abs(this.A) > this.findHt)
        {
            this.D = this.A > 0 ? this.targetY - this.findHt : this.targetY + this.findHt;
            this.A = this.A > 0 ? this.findHt : -this.findHt;
        }
        else
        {
            this.D = this.currentY;
        }
    }

    function animator()
    {
        var now = new Date();
        var newY = this.A * Math.sin( this.B * ( now.getTime() - this.C ) ) + this.D;
        newY = Math.round(newY);
        if (( this.A > 0 && newY > this.currentY ) || ( this.A < 0 && newY < this.currentY ))
        {
            document.getElementById('floatLayer').style.top = newY + "px";
        }
    }
    function start()
    {
        if(ff)
        {
            pageWidth = innerWidth;
            pageHeight = innerHeight;
            layerSetup();
            floatObject();
        }
        else
        {
            pageWidth = document.body.clientWidth;
            pageHeight = document.body.clientHeight;
            layerSetup();
            floatObject();
        }
    }

</SCRIPT>
<div id=floatLayer style="300:0px;top:3px;">
<table cellspacing="0" cellpadding="0" width="1100" height="500">
  <tr  height="3">
    <td border="3" align="center" bgcolor="" colspan="1">
     <b><font size="1" face="Verdana" color="#0000FF">Teste Texto em cima! </font></b><A onClick="return closeDiv()"
      href=""><b><FONT size="1" face="Verdana" color="#FFF8DC">[x]</FONT></b></A>

    </td>
  </tr>
  <tr>
    <td border="1" align="center" bgcolor="" colspan="4">
    <a href="http://teste.com" target="_blank">
<script type="text/javascript"><!--
google_ad_client = "pub-94385038034985034";
/* 728x90, criado 24/07/08 */
google_ad_slot = "1873882985";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></a>
    </td>
  </tr>
</table>
     </div>
<script>start()</SCRIPT>

</div>

</body>

</html>

Se me poderem ajudar agradecia

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigo

Obrigado pela resposta

Por acaso já tinha andado a ver nesse site o que acontece é que não consigo inserir isso de maneira a ficar a funcionar no script mencionado em cima.

Se alguém conseguir ajudar agradecia

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Copias as funções getCookie e setCookie. Depois não sei como queres fazer, se só queres mostrar a publicidade uma vez, e depois só 24 horas (no mínimo) a seguir, talvez algo do género:

if (getCookie("publicidade") == "") {
   // primeira visita ou ja expirou o cookie, mostrar publicidade
   ...
   // agora, dizer que ja viu publicidade
   setCookie("publicidade", "visto", 1); //o 1 é o numero de dias,neste caso, 24 hroas
}

Pronto, acho qu com este sistema tens isso das publicidades a funcionar. Claro que os valores e isso tens de ajustar ao teu caso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas Amigo

Sim o que pretendo e que só seja mostrado uma vez por dia

Onde encaixo isso no script?

Será que podias colocar isso no script e postar aki?

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No sitio onde queres que a publicidade apareça, colocas o código que te dei mais a parte que tens da publicidade, entre tags script. Não te esqueças de copiar lá para cima as funções getCookie e setCookie, onde tens definidas as outras funções.

Atenção que o utilizador pode forjar o conteúdos dos cookies!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto não é chegar aqui, fazer copy/paste dos códigos e tá a brilhar! Tens de os adaptar à tua situação para que funcionem.

Primeiro copias as funções getCookie e setCookie, ficará algo do género

<script language="javascript">

    // as funções que já tens continuam aqui


function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

</script>

E agora, colocas o código que te dei, que tens que completar, porque eu não sei onde e o que queres inserir como publicidade.

<script language="javascript">
if (getCookie("publicidade") == "") {
   // primeira visita ou ja expirou o cookie, mostrar publicidade
   // AQUI TENS DE COLOCAR A TUA PUBLICIDADE, ONDE ESTÃO AS RETICÊNCIAS
   ...
   // agora, dizer que ja viu publicidade
   setCookie("publicidade", "visto", 1); //o 1 é o numero de dias,neste caso, 24 horas
}
</script>

Vê lá se agora já te consegues orientar melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora