原文链接:http://bbs.9ria.com/thread-284082-1-2.html
之前做一个数据缓存,就顺便把写入缓存,清除缓存,获取缓存都整理了一下,其中也做了些参考,个人水平有限,有需要的就拿去改改用吧。 上代码:
package
{
importflash.net.SharedObject;
importflash.system.Security;
importflash.system.SecurityPanel;
public classcookie
{
private varso:SharedObject;
private var_name:String
publicfunction cookie(file_name:String)
{
//constructor code
so =SharedObject.getLocal(file_name,"/");
_name=file_name
}
publicfunction flushData(key:String,value:*):void
{
//添加数据
if(so.data.cookie == null)
{
varobj:Object = {};
obj[key] =value;
so.data.cookie= obj;
}else
{
so.data.cookie[key]= value;
}
trace(key+":"+so.data.cookie[key]);
flush();
}
publicfunction deleteData(key:String):void
{
//删除数据值
if(judge(key))
{
deleteso.data.cookie[key];
flush();
}
}
publicfunction getName():String
{
//获取数据名
return_name
}
publicfunction getData(key:String):*
{
//获取数据值
if(judge(key))
{
returnso.data.cookie[key];
}else
{
returnnull;
}
}
publicfunction clearData():void
{
//清除缓存
so.clear();
}
publicfunction judge(key:String):Boolean
{
//判断数据是否存在
returnso.data.cookie != undefined && so.data.cookie[key] !=undefined
}
privatefunction flush():void
{
//写入
if(so)
{
try
{
so.flush();
}
catch(e:Error)
{
Security.showSettings();
Security.showSettings( SecurityPanel.LOCAL_STORAGE );
}
}
}
}
}
标注的都比较清楚,直接实例化,调用方法可以了,附件为cookie.as文件 |
转载于:https://www.cnblogs.com/seanp/p/6522111.html