• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>FLASH类>文章内容
  • Cookie类(as2.0)
  • 来源:kinglong's blog 作者:kinglong 2008-04-21 【
[AS2]Flash版本的Cookie类

利用Flash的SharedObject类的功能,来模拟Cookie的功能!

  1. /**  
  2. * @link http://www.klstudio.com  
  3. * @author Kinglong  
  4. * @usage flash player 7  
  5. * @version 0.1  
  6. */  
  7.   
  8. class  as2.util.Cookie {   
  9.        
  10.     private var _time:Number;   
  11.     private var _name:String;   
  12.     private var _so:SharedObject;   
  13.        
  14.     public function Cookie(name:String,time:Number){           
  15.         _name = (name == undefined)?"klstudio":name;   
  16.         _time = (time == undefined)?36000:time;   
  17.         _so = SharedObject.getLocal(_name,"/");   
  18.     }   
  19.        
  20.     public function clearTimeOut():Void{   
  21.         var obj:Object = _so.data.cookie;   
  22.         if(obj == undefined){   
  23.             return;   
  24.         }   
  25.         for(var key in obj){   
  26.             if(obj[key] == undefined || obj[key].time == undefined || isTimeOut(obj[key].time)){   
  27.                 delete obj[key];   
  28.             }   
  29.         }   
  30.         _so.data.cookie = obj;   
  31.         _so.flush();   
  32.     }   
  33.     private function isTimeOut(time:Number):Boolean{   
  34.         var today:Date = new Date();           
  35.         return time + _time * 1000 < today.getTime();   
  36.     }   
  37.        
  38.     public function getTime():Number{   
  39.         return _time;   
  40.     }      
  41.     public function getName():String{   
  42.         return _name;   
  43.     }   
  44.     public function clear():Void{   
  45.         _so.clear();   
  46.     }      
  47.     public function put(key:String,value:Object):Void{   
  48.         var today:Date = new Date();   
  49.         key = "key_"+key;   
  50.         value.time = today.getTime();   
  51.         if(_so.data.cookie == undefined){   
  52.             var obj:Object = {};   
  53.             obj[key] = value;   
  54.             _so.data.cookie = obj;   
  55.         }else{   
  56.             _so.data.cookie[key] = value;   
  57.         }   
  58.         _so.flush();   
  59.     }   
  60.     public function remove(key:String):Void {   
  61.         if (contains(key)) {   
  62.             delete _so.data.cookie["key_" + key];   
  63.             _so.flush();   
  64.         }   
  65.     }   
  66.     public function get(key:String):Object{        
  67.         return contains(key)?_so.data.cookie["key_"+key]:null;   
  68.     }      
  69.     public function contains(key:String):Boolean{   
  70.         key = "key_" + key;    
  71.         return _so.data.cookie != undefined && _so.data.cookie[key] != undefined;   
  72.     }   
  73. }  


调用实例

  1. import as2.util.Cookie;   
  2.   
  3. //创建cookie对象,超时单位为毫秒;   
  4. var cookie:Cookie = new Cookie("myCookie"24 * 60 * 60 * 1000);   
  5. //添加key值;   
  6. cookie.put("a", {a:"a0001"});   
  7. cookie.put("b", {b:2});   
  8. //查key是否存在;   
  9. trace(cookie.contains("a"));   
  10. //删除key;   
  11. cookie.remove("a");   
  12. trace(cookie.contains("a"));   
  13. //获取key的值   
  14. trace(cookie.get("b").b);   
  15. //清除cookie所有的值;   
  16. cookie.clear();   




上一篇:Cookie类(as3.0)   下一篇:自写类整理笔记—Dot类(as3.0)
您的评论
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
推荐内容
FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)