WEB开发网
开发学院图形图像Flash [AS3]Flash版本Cookie类 阅读

[AS3]Flash版本Cookie类

 2012-02-06 12:14:03 来源:本站整理   
核心提示:[AS3]Flash版本Cookie类/** * @link http://www.klstudio.com * @author Kinglong * @playerversion flash player 9 * @asversion 3.0 * @version 0.5 */ pack

[AS3]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.   }  

Tags:AS Flash Cookie

编辑录入:coldstar [复制链接] [打 印]
赞助商链接