• AS3 Cookie类


    代码
    package com.klstudio.util
    {
        
    import flash.net.SharedObject;
        
    public class Cookie
        {
            
    private var _time:uint;
            
    private var _name:String;
            
    private var _so:SharedObject;

            
    public function Cookie(name:String = "klstudio", timeOut:uint = 3600)
            {
                _name 
    = name;
                _time 
    = timeOut;
                _so 
    = SharedObject.getLocal(name, "/");
            }
            
    //清楚超时内容;   
            public function clearTimeOut():void
            {
                var obj:
    * = _so.data.cookie;
                
    if (obj == undefined)
                {
                    
    return;
                }
                
    for (var key in obj)
                {
                    
    if (obj[key] == undefined || obj[key].time == undefined || isTimeOut(obj[key].time))
                    {
                        delete obj[key];
                    }
                }
                _so.data.cookie 
    = obj;
                _so.flush();
            }

            
    private function isTimeOut(time:uint):Boolean
            {
                var today:Date 
    = new Date();
                
    return time + _time * 1000 < today.getTime();
            }

            
    //获取超时值;   
            public function getTimeOut():uint
            {
                
    return _time;
            }

            
    //获取名称;   
            public function getName():String
            {
                
    return _name;
            }

            
    //清除Cookie所有值;   
            public function clear():void
            {
                _so.clear();
            }

            
    //添加Cookie值   
            public function put(key:String, value:*):void
            {
                var today:Date 
    = new Date();
                key 
    = "key_" + key;
                value.time 
    = today.getTime();
                
    if (_so.data.cookie == undefined)
                {
                    var obj:Object 
    = {};
                    obj[key] 
    = value;
                    _so.data.cookie 
    = obj;
                }
                
    else
                {
                    _so.data.cookie[key] 
    = value;
                }
                _so.flush();
            }
            
    //删除Cookie值;   
            public function remove(key:String):void
            {
                
    if (contains(key))
                {
                    delete _so.data.cookie[
    "key_" + key];
                    _so.flush();
                }
            }
            
    //获取Cookie值;   
            public function get(key:String):Object
            {
                
    return contains(key) ? _so.data.cookie["key_" + key] : null;
            }
            
    //Cookie值是否存在;   
            public function contains(key:String):Boolean
            {
                key 
    = "key_" + key;
                
    return _so.data.cookie != undefined && _so.data.cookie[key] != undefined;
            }
        }
    }
  • 相关阅读:
    javascript的字段值,私有变量,静态方法声明
    取得序列中某个点的范围边界
    使用wubi安装ubuntu11.04后无线网卡被禁用无法打开解决办法
    WEB前端性能优化
    jQuery的arrayLike
    在手机上安装BT5系统,没错就是破解无线密码的那个
    PHP在子类方法B调用父类的方法A时,不传参数时仍能得到方法B的名称
    讨厌的文本选区
    PHP遍历解析XML为一个数组
    “软工厂代码生成工具”的学习笔记
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1614499.html
Copyright © 2020-2023  润新知