Comunidad de diseño web y desarrollo en internet online

Ayuda con seteo de cookies en AJAX

Citar            
MensajeEscrito el 27 Ene 2007 12:38 am
Hola, les hago una consulta de algo que hace un rato estoy tratando de hacer y no lo logro ya que no tengo mucha idea acerca de AJAX.
Tengo unas librerias que me baje de http://prototype-window.xilinus.com y mi idea es hacer que la botonera del sitio este dentro de una de esas ventanas. La ventana ya la tengo hecha, diseño y contenido, pero lo que quiero hacer y no se como es usar la funcion setCookie que trae para poder guardar una cookie que recuerde la posición y el tamaño de la ventana mientras navegues por el sitio.

PHP:

Código :

<script type="text/javascript" language="Javascript">
function ventana_text(){
   var text = '<ul id="menu">'
         +         '<li><a href="">Noticias</a></li>'
         +         '<li><a href="">Fechas</a></li>'
         +         '<li><a href="">Bandas</a></li>'
         +         '<li><a href="">Salas</a></li>'
         +         '<li><a href="">Comentarios</a></li>'
         +      '</ul>';
   
   var win = new Window("content_win",{ className: "hds",
                  width: 200,
                  height: 200,
                  zIndex: 100,
                  left: 100,
                  top: 120,
                  resizable: true,
                  closable: false,
                  maximizable: false,
                  title: "MENU",
                  draggable:true,
                  wiredDrag: true })
   
   win.setCookie("", 1000, "/cartelera_rock/web/intranet/", "localhost", true);
   win.getContent().innerHTML= text;
   win.setStatusBar("CarteleraRock.com.ar");
   
   win.show();
}
</script>


setCookie y getCookie en .js:

Código :

   setCookie: function(name, expires, path, domain, secure) {
      name = name || this.element.id;
      alert("name: "+name+" - expires: "+expires+" - path: "+path+" - domain: "+domain+" - secure: "+secure);
      this.cookie = [name, expires, path, domain, secure];
      alert(this.cookie);
      // Get cookie
      var value = WindowUtilities.getCookie(name)
      
      // If exists
      if (value) {
         var values = value.split(',');
         var x = values[0].split(':');
         var y = values[1].split(':');

         var w = parseFloat(values[2]), h = parseFloat(values[3]);
         var mini = values[4];
         var maxi = values[5];

        this.setSize(w, h);
         if (mini == "true")
          this.doMinimize = true; // Minimize will be done at onload window event
         else if (maxi == "true")
           this.doMaximize = true; // Maximize will be done at onload window event

         this.useLeft = x[0] == "l";
         this.useTop = y[0] == "t";

         this.element.setStyle(this.useLeft ? {left: x[1]} : {right: x[1]});
         this.element.setStyle(this.useTop ? {top: y[1]} : {bottom: y[1]});
      }
   },

setCookie: function(value, parameters) {
      alert("value: "+value+"\nparams: "+parameters);
       document.cookie= parameters[0] + "=" + escape(value) +
      ((parameters[1]) ? "; expires=" + parameters[1].toGMTString : "") +
      ((parameters[2]) ? "; path=" + parameters[2] : "") +
      ((parameters[3]) ? "; domain=" + parameters[3] : "") +
      ((parameters[4]) ? "; secure" : "");
  },

   getCookie: function(name) {
   
      var dc = document.cookie;
      var prefix = name + "=";
      var begin = dc.indexOf("; " + prefix);
      if (begin == -1) {
         begin = dc.indexOf(prefix);
         if (begin != 0){ return null; }
      } else {
         begin += 2;
      }
      var end = document.cookie.indexOf(";", begin);
      alert(end);
      if (end == -1) {
         end = dc.length;
      }
    
      return unescape(dc.substring(begin + prefix.length, end));
   },


El problema esta en que no crea la cookie ya que cuando hago un alert de document.cookie me lo devuelve vacío. No se si con el setCookie que le paso a win bastará o tengo que utilizar PHP para crearlo.

Cualquier tipo de ayuda sera muy bien recibida. Gracias

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Ene 2007 05:22 am
err.. eso no es php.
no sé, tal vez donde estás probando las cookies están desactivadas, pero para probar ese código me parece muy complicado, intenta documentarte y meter una cookie con un valor algo así como "hola".
google es tu amigo.

suerte

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 27 Ene 2007 03:06 pm
Gracias por responder fael.
Ya se que no es PHP, puse PHP porque ese es el código javascript que va en la página que estoy haciendo que es PHP.
Las cookies estan activadas ya que al setear una cookie desde PHP si la crea.
A mi también me parece muy complicado el código y eso es solo la función setCookie, en la documentación del sitio de donde baje las librerias hay una muy breve reseña sobre esa función y no explica demasiado.

EDIT. Bueno, por lo visto ya lo tengo solucionado casi en un 100%, falta un detalle nomas pero no es esencial. Estuve tocando la función setCookie en la linea donde escribe realmente la cookie (document.cookie) y pude hacerlo funcionar.

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Sep 2007 01:26 pm
Yo estoy usando un library ke facilita Ajax, se llama Sajax(con google aparece enseguida).
También tube problema para levantar las coockies al principio, pero en la rutina que recarga los datos de php le mandé un session_start() y se resolvio el problema.
Salu2
:cool:

Por _silver_

0 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.