Action Script 3 témoins; CRUD opérations.


Souvent, on pense que, comme il est facile si nous pouvions mettre cette variable et ce dans le PC utilisateur, et bien, cela est possible et même assez facile, après avoir lu un article très intéressant, je suis simplement un paquet qui peut être utilisé pour enregistrer et lire les données d'un cookie sur le PC de l'utilisateur ... voir le code suivant:

Télécharger: Cookie.as
paquet nttlib . util com. nttlib. util (

d'importation net . SharedObject ; flash. net. SharedObject;

public classe Cookie (
privé var uint ; _time: UINT;
privé var String ; _name: String;
privé var SharedObject ; _so: SharedObject;

public fonction name : String = " nttlib " , timeOut : uint = 3600 ) Cookie (nom: String = "nttlib," Timeout: UINT = 3600) (
name ; _name = name;
timeOut ; _time = timeOut;
SharedObject . getLocal ( name , " / " _so = SharedObject. getLocal (nom, "/" );
)

/ / Clean le cookie lors de votre temps vient à expiration;
public fonction : void clearTimeout (): void (
var _so . data . cookie ; obj: * = _so. date. cookie;
== undefined ){ if (obj == indéfini) (
retour;
)
for (var clé dans obj) (
[ key ] == undefined || obj [ key ] . time == undefined || isTimeOut ( obj [ key ] . time )){ if (obj [key] == indéfini | | obj [légende]. temps indéfini == | | isTimeOut (obj [légende]. temps)) (
supprimer key ] ; obj [key];
)
)
data . cookie = obj ; _so. date. cookie = obj;
flush () ; _so. flush ();
)

/ / Vérifie le délai
privé fonction time : uint ) : Boolean isTimeOut (temps: UINT): Boolean (
var Date = new aujourd'hui: Date = new ; Date ();
retour _time * 1000 < today . getTime () ; _time équipe + * 1000 <aujourd'hui. GetTime ();
)

/ / Recherche de délai;
public fonction : uint getTimeOut (): UINT (
retour _time;
)

/ / Recherche le nom du cookie;
public fonction : String getName (): String (
retour _name;
)

/ / Nettoyer toutes les valeurs cookie;
public fonction : void Clear (): void (
clear () ; _so. Clear ();
)

/ / Ajouter un point à la cookie (variable, valeur)
public fonction key : String , value :* ) : void mettre (clé: String, valeur: *): void (
var Date = new aujourd'hui: Date = new ; Date ();
key_ ”+ key ; key = "key_" + clé;
time = today . getTime () ; valeur. = équipe aujourd'hui. GetTime ();
. data . cookie == undefined ){ if (_so. date. cookie == indéfini) (
var Object = {} ; obj: Object = ();
key ] = value ; obj [key] = value;
data . cookie = obj ; _so. date. cookie = obj;
) Else (
data . cookie [ key ] = value ; _so. date. cookie [key] = value;
)
flush () ; _so. flush ();
)

/ / Supprimer le cookie point (variable);
public fonction key : String ) : void remove (key: String): void (
si ( key )) (IsExist (key)) (
supprimer data . cookie [ " key_ " + key ] ; _so. date. cookie [ "key_" + key];
flush () ; _so. flush ();
)
)

/ / Recherche de la valeur du point (variable);
public fonction key : String ) : Object { get (key: String): Objet (
retour key ) ? _so . data . cookie [ " key_ " + key ] : null ; isExist (clé)? _so. date. cookie [ "key_" + clé]: null;
)

/ / Vérifier si le cookie existe;
public fonction key : String ) : Boolean { isExist (clé: String): booléen (
key_ ” + key ; key = "key_" + clé;
retour data . cookie != undefined && _so . data . cookie [ key ] != undefined ; _so. date. cookie! indéfini = & & _so. date. cookie [key]! = indéfini;
)
)
)
Télécharger: Cookie.as

Source: ntc.cc

J'espère qu'il sera utile.

Serrer dans ses bras.

version pdf temporairement indisponible.
Laissez un commentaire ou laisser un Trackback

6 Commentaires

  1. 14 juillet 2008 à 4:34 pm | Lien permanent

    Marios ce paquet peut être utilisé pour garder l'utilisateur connecté si il donne recharger sur votre navigateur?

    Merci.

  2. 15 juillet 2008 à 7:13 am | Permalink

    Oui, vous pouvez :)

    Connectez-vous à utiliser la méthode d'emballage:

    . Mettre ( "identifié", "ok");

    et de vérifier ensuite si cette valeur:

    if (. get ( "identifiés ")==" ok") / / cette identifiés
    d'autre () / / n'est pas identifié

    :)

  3. 15 août 2008 à 10:27 heures pm | Permalink

    Bonjour Mario,

    J'essaie d'utiliser la classe au-dessus de lui seulement quand je tente d'inclure une valeur de l'erreur suivante:

    / / CODE
    var trakShared: Cookie = new Cookie ( 'trakinasNovo');
    trakShared.put ( «île», Utils.global.atual);
    trace (trakShared.get ( 'île'));

    / / ERREUR
    ReferenceError: Erreur # 1056: Vous ne pouvez pas créer de temps à cordes de propriété.
    à com.trakinas.geral: Cookie / put ()
    à trakinas_fla: MainTimeline / trakinas_fla:: frame1 ()

    Avez-vous une idée de ce qui peut être?

    A Hug

  4. 16 août 2008 à 6:20 am | Permalink

    Vous utilisez Flash cs droit? cette erreur mai-être dû à beaucoup de choses, mais essayez de la classe qui a:

    var privé _time: UINT;
    var privé _name: String;
    var privé _so: SharedObject;

    faire tout ce qui est public et essayer à nouveau ... (doit travailler ...)

    il ne le fait pas, allez à:

    Fichier-> Publier Configuration-> Flash-> ActionScript 3.0 et de désactiver le "stade automatiquement déclarer les cas" et voir si résolu ....

  5. Brian
    22 août 2008 à 6:23 pm | Lien permanent

    Mario, comme nous l'avons saisie du numéro de série de HD ou de la MAC de l'ordinateur de l'utilisateur et stockés dans une sharedObject?

  6. 22 août 2008 à 6:38 pm | Lien permanent

    Je ne sais pas ... : (

Laisser un commentaire

Votre e-mail n'est jamais publié ou partagé. Les champs obligatoires sont marqués d'un *