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;
)
)
)
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.










6 Comentarios
Marios este paquete puede ser usado para mantener conectado al usuario si le da la recarga de su navegador?
Gracias.
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
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
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 ....
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?
No sé ...