Comunidad de diseño web y desarrollo en internet online

Shared Objetct .... no puedo resetear los valores.

Citar            
MensajeEscrito el 14 Abr 2009 11:09 am
Resulta que tengo un shared object que uso para trazar la opción marcada en un menu. El caso es que se queda marcada siempre y necesito que cuando se vea la primera página del sitio empiece desde cero. Me he creado dos versiones del menu, una que va en la primera página del sitio (p0.htm) y que resetea la opción (menu0.swf) y otra normal que va en el resto de las páginas del sitio (menu.swf). El caso es que si ejecuto menu0.swf sin insertar en la pagina html me funciona (resetea el sharedObject) pero si lo inserto en html no funciona y siempre aparece marcada la última opción seleccionada (es decir, no resetea el objeto).

Asi que tengo en p0.htm el swf menu0 con el código:

so = SharedObject.getLocal("seleccion", "/");
so.clear();
so = SharedObject.getLocal("seleccion", "/");
so.data.select = "00";
so.flush();
op = so.data.select;

Y en el resto de las páginas tengo el swf menu con el código:

// creamos el objeto compartido
so = SharedObject.getLocal("seleccion", "/");

if (so.data.select == undefined) {
so.data.select = "11";
} else {
op = so.data.select;
}

// extraemos la opción y la subopción

opcion=Number(op.substring(0,1));
subopcion=Number(op.substring(1,2));

Por neomode

5 de clabLevel



 

Granada - Andalucía - España

firefox
Citar            
MensajeEscrito el 14 Abr 2009 11:35 am
Estás haciendo tres veces SharedObject.getLocal, hazlo una sola vez.
"00" no es igual a undefined, si quieres ver si está reseteado haz:

if (so.data.select == "00")

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Abr 2009 09:31 am
No. Si es que necesito que empiece valiendo "00", es una asignación no un if!!!.
Bueno, voy a probar eso de solo dejar un sharedObject. getData a ver que tal y cuento....

Por neomode

5 de clabLevel



 

Granada - Andalucía - España

firefox
Citar            
MensajeEscrito el 16 Abr 2009 09:41 am
Bueno ahora entendí lo de ""00" no es igual a undefined, ". Bueno he hecho lo que me sugerías y...sigue sin funcionar. Si quito el sharedObject.getLocal de menu.swf, directamente ya no accede al objeto, con lo que la opción no me sale seleccionada.

Es extraño, porque al darle a la p0.htm, es decir, donde está el código que resetea, no resetea y por el contrario me aparece la última opción marcada, lo cual quiere decir que accede correctamente al objeto. Entonces....Porqué no le da el valor "00" ??????

Action Script me está volviendo loco....

Please HELP!

Por neomode

5 de clabLevel



 

Granada - Andalucía - España

firefox
Citar            
MensajeEscrito el 16 Abr 2009 09:59 am
:shock: :shock: :shock: :shock: :shock:
Bueno, pues ya funcionó. NO me preguntéis como, porque lo mismo que hay ahora estaba probado de antes....salvo el so.flush() en menu.swf. La cosa quedó así:

menu0.swf :

so = SharedObject.getLocal("seleccion", "/");
so.data.select = "00";
so.flush();
op = so.data.select;
// extraemos la opción y la subopción
opcion=Number(op.substring(0,1));
subopcion=Number(op.substring(1,2));

menu.swf:

// creamos el objeto compartido
so = SharedObject.getLocal("seleccion", "/");
if (so.data.select == "00") {
so.data.select = "11";
} else {
op = so.data.select;
}
so.flush();
// extraemos la opción y la subopción
opcion=Number(op.substring(0,1));
subopcion=Number(op.substring(1,2));


GRACIAS JORGE.

Por neomode

5 de clabLevel



 

Granada - Andalucía - España

firefox

 

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