Introducción
El Objeto SharedObject, es un objeto que nos permite grabar datos de quien ingresa a nuestro sitio en su computadora de forma local, sería algo similar a las famosas cookies pero personalizadas en el mismo Flash.No es recomendable usar este objeto para aplicaciones en las cuales se requiere mucha seguridad, porque justamente no es un objeto muy seguro que digamos.
Por ejemplo no es recomendable grabar en este objeto nombres de usuarios ni contraseñas porque pueden ser leídos muy fácilmente con un simple editor de texto, pero para grabar valores sencillos como por ejemplo si un visitante de nuestro sitio vio o no nuestra presentación o bien guardar coordenadas de posiciones de objetos dentro de nuestra pagina o también grabar configuraciones de colores, resulta de mucha utilidad.
Para todos estos casos resulta verdaderamente muy útil, pero no es recomendable como ya comentaba para aplicaciones que requieran de seguridad, o mejor dicho datos personales de los usuarios, todo depende de la información que manejemos en nuestro sitio.
Bien veamos un ejemplo sencillo de cómo trabajar con este objeto, ustedes habrán notado mas de una vez a la hora de visitar un sitio en que debemos de ver la presentación cada vez que ingresamos o al menos debemos darle click al botón de “Skip intro” o bien “Saltar presentación” y muchas veces resulta realmente molesto y tedioso este procedimiento.
El Objeto SharedObject lo que nos permite justamente es verificar si la persona que ingresa ya vio nuestra presentación o no, veamos un ejemplo.
Bien abra entonces el inspector de código y en el primer fotograma de su aplicación comenzaremos a trabajar.
Creando nuestro código
Vamos a crear un Objeto local denominado "MyCookie" y lo guardaremos en una variable llamada en este caso "newContenedor".
newContenedor = SharedObject.getLocal("MyCookie");
if (newContenedor.data.presentacion == undefined) { }
Entonces si se cumple esta condición quiere decir que no se ha creado la variable y por ende no ha visto la presentación hasta ahora, entonces le indicamos que arranque la presentación y que grabe los valores que yo quiera en el objeto.
Ahora el visitante ya vio nuestra presentación entonces cuando ingrese la próxima vez debería de cumplirse la condición esta.if (newContenedor.data.presentacion == undefined) {
contenedor = SharedObject.getLocal("MyCookie");
contenedor.data.presentacion = "si";
contenedor.data.fechaDeIngreso = new Date(Date.UTC());
contenedor.flush();
delete contenedor;
}
contenedor = SharedObject.getLocal("MyCookie");
contenedor.data.presentacion = "si";
contenedor.data.fechaDeIngreso = new Date(Date.UTC());
contenedor.flush();
delete contenedor;
Como vimos en el principio de nuestro código tenemos los valores de contenedor en un nuevo objeto llamado "newContenedor", así que al borrar "contenedor", no hay problemas porque tenemos nuestros valores en un nuevo objeto.
Bien ahora como en el caso contrario que todo esta condición no se cumpla, que quiere decir que ya vio nuestra presentación, entonces lo enviamos directamente al “home” de nuestro sitio.
Vimos como crear una cookie mediante el objeto SharedObject, ahora si lo que queremos es limpiar nuestra cookie debemos de usar el argumento “clear” y para borrarla el “delete”
Limpiar Cookie: newContenedor.clear();
Borrar Cookie: newContenedor.delete()
Para visualizar nuestro objeto con todo el contenido que tenemos grabado vamos a crear una función a la cual le vamos a pasar como parámetro el objeto “newContenedor”
Y Dentro de nuestra función vamos a crear un for (bucle ) para recorrer todo el objeto y hacer un trace de todas sus variables grabadas allí.
visualizarObjetoShared = function (obj) {
for (var o in obj) {
trace(o+" <=========== > "+obj[o]);
}
};
visualizarObjetoShared(newContenedor.data);
Código completo
newContenedor = SharedObject.getLocal("MyCookie");
if (newContenedor.data.presentacion == undefined) {
contenedor = SharedObject.getLocal("MyCookie");
contenedor.data.presentacion = "si";
contenedor.data.fechaDeIngreso = new Date(Date.UTC());
contenedor.flush();
delete contenedor;
} else {
gotoAndPlay("home");
} visualizarObjetoShared = function (obj) { for (var o in obj) { trace(o+" [ =========== ] "+obj[o]); } };
visualizarObjetoShared(newContenedor.data);
Dario Quiroga
[email protected]
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate