[AS3]Cookie类
[AS2]Flash版本的Cookie类
view plaincopy to clipboardprint?
/**
* @link http://www.klstudio.com
* @author Kinglong
* @playerversion flash player 9
* @asversion 3.0
* @version 0.5
*/
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;
}
}
}
文章来自: 闪无忧(www.5uflash.com) 详文参考:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/2945.html