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

garanhaomen

Definir Cookie

Recommended Posts

garanhaomen

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

Share this post


Link to post
Share on other sites
garanhaomen

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.

Share this post


Link to post
Share on other sites
softklin

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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
garanhaomen

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.

Share this post


Link to post
Share on other sites
softklin

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!


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
softklin

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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

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

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.