[AS3]Cookie类

[AS3]Cookie类

[AS2]Flash版本的Cookie类

  1. /**    
  2.  * @link http://www.klstudio.com    
  3.  * @author Kinglong  
  4.  * @playerversion flash player 9   
  5.  * @asversion 3.0  
  6.  * @version 0.5  
  7.  */     
  8.   
  9. package com.klstudio.util {   
  10.        
  11.     import flash.net.SharedObject;     
  12.   
  13.     public class Cookie {   
  14.            
  15.         private var _time:uint;   
  16.         private var _name:String;   
  17.         private var _so:SharedObject;   
  18.            
  19.         public function Cookie(name:String = "klstudio", timeOut:uint=3600) {   
  20.             _name = name;   
  21.             _time = timeOut;   
  22.             _so = SharedObject.getLocal(name, "/");   
  23.         }   
  24.            
  25.         //清楚超时内容;   
  26.         public function clearTimeOut():void {   
  27.             var obj:* = _so.data.cookie;   
  28.             if(obj == undefined){   
  29.                 return;   
  30.             }   
  31.             for(var key in obj){   
  32.                 if(obj[key] == undefined || obj[key].time == undefined || isTimeOut(obj[key].time)){   
  33.                     delete obj[key];   
  34.                 }   
  35.             }   
  36.             _so.data.cookie = obj;   
  37.             _so.flush();   
  38.         }   
  39.            
  40.         private function isTimeOut(time:uint):Boolean {   
  41.             var today:Date = new Date();           
  42.             return time + _time * 1000 < today.getTime();   
  43.         }   
  44.            
  45.         //获取超时值;   
  46.         public function getTimeOut():uint {   
  47.             return _time;   
  48.         }   
  49.            
  50.         //获取名称;   
  51.         public function getName():String {   
  52.             return _name;   
  53.         }   
  54.            
  55.         //清除Cookie所有值;   
  56.         public function clear():void {   
  57.             _so.clear();   
  58.         }   
  59.            
  60.         //添加Cookie值   
  61.         public function put(key:String, value:*):void {   
  62.             var today:Date = new Date();   
  63.             key = "key_"+key;   
  64.             value.time = today.getTime();   
  65.             if(_so.data.cookie == undefined){   
  66.                 var obj:Object = {};   
  67.                 obj[key] = value;   
  68.                 _so.data.cookie = obj;   
  69.             }else{   
  70.                 _so.data.cookie[key] = value;   
  71.             }   
  72.             _so.flush();   
  73.         }   
  74.            
  75.            
  76.         //删除Cookie值;   
  77.         public function remove(key:String):void {   
  78.             if (contains(key)) {   
  79.                 delete _so.data.cookie["key_" + key];   
  80.                 _so.flush();   
  81.             }   
  82.         }   
  83.            
  84.         //获取Cookie值;   
  85.         public function get(key:String):Object{        
  86.             return contains(key)?_so.data.cookie["key_"+key]:null;   
  87.         }   
  88.            
  89.         //Cookie值是否存在;   
  90.         public function contains(key:String):Boolean{   
  91.             key = "key_" + key;    
  92.             return _so.data.cookie != undefined && _so.data.cookie[key] != undefined;   
  93.         }   
  94.     }   
  95. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值