Acción Script 3 Cookies; CRUD operaciones.


A menudo pensamos, como es fácil si pudiéramos salvar esta y esta variable en el PC del usuario, bueno, esto es posible e incluso muy fácil, después de leer un artículo muy interesante, yo simplemente un conjunto de medidas que pueden ser utilizados para grabar y leer datos de una cookie en el PC del usuario ... véase el siguiente código:

Descarga: Cookie.as
paquete nttlib . util com. nttlib. util (

importación net . SharedObject ; flash. netas. SharedObject;

público clase Cookie (
privado var uint ; _time: UINT;
privado var String ; _Nombre: String;
privado var SharedObject ; _so: SharedObject;

público función name : String = " nttlib " , timeOut : uint = 3600 ) Cookie (nombre: String = "nttlib," Tiempo límite: UINT = 3600) (
name ; _Nombre = nombre;
timeOut ; _time = timeOut;
SharedObject . getLocal ( name , " / " _so = SharedObject. getLocal (nombre, "/" );
)

/ / Limpia la cookie cuando expira su tiempo;
público función : void clearTimeout (): void (
var _so . data . cookie ; obj: * = _so. fecha. cookie;
== undefined ){ if (obj == indefinido) (
retorno;
)
para (var llave en obj) (
[ key ] == undefined || obj [ key ] . time == undefined || isTimeOut ( obj [ key ] . time )){ if (obj [clave] == indefinido | | obj [clave]. == tiempo indefinido | | isTimeOut (obj [clave]. momento)) (
borrar key ] ; obj [clave];
)
)
data . cookie = obj ; _so. fecha. cookie = obj;
flush () ; _so. Flush ();
)

/ / Comprobar el tiempo de
privado función time : uint ) : Boolean isTimeOut (tiempo: UINT): Boolean (
var Date = new hoy: Fecha = new ; Fecha ();
volver _time * 1000 < today . getTime () ; _time equipo * 1000 + <el día de hoy. GetTime ();
)

/ / Tiempo de búsqueda;
público función : uint getTimeOut (): UINT (
volver _time;
)

/ / Buscar el nombre de la cookie;
público función : String getName (): String (
volver _Nombre;
)

/ / Limpia todos los valores de la cookie;
público función : void claro (): void (
clear () ; _so. claras ();
)

/ / Añadir tema a la cookie (variable, valor)
público función key : String , value :* ) : void poner (clave: String, el valor: *): void (
var Date = new hoy: Fecha = new ; Fecha ();
key_ ”+ key ; key = "key_" + clave;
time = today . getTime () ; valor. = equipo el día de hoy. GetTime ();
. data . cookie == undefined ){ if (_so. fecha. cookie == indefinido) (
var Object = {} ; obj: Object = ();
key ] = value ; obj [clave] = valor;
data . cookie = obj ; _so. fecha. cookie = obj;
) Else (
data . cookie [ key ] = value ; _so. fecha. cookie [clave] = valor;
)
flush () ; _so. Flush ();
)

/ / Eliminar la cookie tema (variable);
público función key : String ) : void eliminar (clave: String): void (
si ( key )) (IsExist (clave)) (
borrar data . cookie [ " key_ " + key ] ; _so. fecha. cookie [ "key_" tecla +];
flush () ; _so. Flush ();
)
)

/ / Buscar el valor del tema (variable);
público función key : String ) : Object { get (clave: String): Objeto (
volver key ) ? _so . data . cookie [ " key_ " + key ] : null ; isExist (clave)? _so. fecha. cookie [ "key_" tecla +]: null;
)

/ / Comprobar si la cookie existe;
público función key : String ) : Boolean { isExist (key: String): Boolean (
key_ ” + key ; key = "key_" + clave;
volver data . cookie != undefined && _so . data . cookie [ key ] != undefined ; _so. fecha. cookie! = undefined & & _so. fecha. cookie [clave]! = indefinido;
)
)
)
Descarga: Cookie.as

Fuente: ntc.cc

Espero que sea útil.

Abrazar.

la versión en formato pdf disponible temporalmente.
Dejar un comentario o una licencia Trackback

6 Comentarios

  1. 14 de julio de 2008 a 4:34 pm | Permalink

    Marios este paquete puede ser usado para mantener conectado al usuario si le da la recarga de su navegador?

    Gracias.

  2. 15 de julio de 2008 a 7:13 am | Permalink

    Sí, usted puede :)

    Simplemente acceda a utilizar el método de suministro:

    . Poner ( "identificado", "ok");

    y, a continuación, comprobar si este valor:

    if (. get ( "identificado ")==" ok") / / esta identificado
    otro () / / no se identifica

    :)

  3. 15 de agosto de 2008 a horas 10:27 pm | Permalink

    Hola Mario,

    Estoy intentando utilizar la clase anterior, sólo cuando intento para incluir un valor de la siguiente error:

    / / CÓDIGO
    var trakShared: Cookie = new Cookie ( 'trakinasNovo');
    trakShared.put ( "isla", Utils.global.atual);
    trace (trakShared.get ( 'isla'));

    / / ERROR
    ReferenceError: Error # 1056: No se puede crear en vez de cadenas de propiedad.
    en com.trakinas.geral: Cookie / ponga ()
    en trakinas_fla: MainTimeline / trakinas_fla:: frame1 ()

    ¿Tiene usted alguna idea de lo que se puede?

    Un abrazo

  4. 16 de agosto de 2008 a 6:20 am | Permalink

    Usted está utilizando flash cs derecho? Este error puede deberse a muchas cosas, pero trate de la clase que tiene:

    var privado _time: UINT;
    var privado _Nombre: String;
    var privado _so: SharedObject;

    hacer todo lo público y vuelve a intentarlo ... (deberían trabajar ...)

    no es así, vaya a:

    Archivo-> Publicar Configuración-> Flash-> ActionScript 3.0 y desactivar la "fase de declarar automáticamente los casos" y ver si resuelto ....

  5. Brian
    22 de agosto de 2008 a 6:23 pm | Permalink

    Mario, como se captura el número de serie de HD o de la MAC del ordenador del usuario y se almacenan en un sharedObject?

  6. 22 de agosto de 2008 a 6:38 pm | Permalink

    No sé ... : (

Déjanos tu comentario

Su dirección de correo electrónico nunca es publicado o compartido. Los campos obligatorios están marcados con un *