本地共享对象类似于浏览器 Cookie
保持本地永久性。这是使用共享对象的最简单方法,并且无需使用 Flash Media Server。 例如,可以调用 SharedObject.getLocal()
以在应用程序中创建共享对象,如带记忆功能的计算器。用户关闭计算器时,Flash Player 将在用户计算机的共享对象中保存最后一个值。 计算器下一次运行时,将包含先前所拥有的值。或者,在计算器应用程序关闭之前,如果将共享对象的属性设置为 null
,下次运行该应用程序时,它在打开时不包含任何值。维护本地永久性的另一示例就是跟踪用户首选项或复杂网站的其它数据,如用户在新闻网站上所阅读文章的记录。跟踪此信息将允许您以不同方式分别显示已经阅读的文章和新的未读文章。在用户计算机上存储此信息可减小服务器负载。
实例: 通过SharedObject.getLocal() 操作本地共享对象,来完成类似 浏览器 Cookie 功能
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function setvalue(uname:String,upsw:String,holdtime:String):void{
var user:SharedObject = SharedObject.getLocal( "user" );// 创建一个本地保存数据的对象
user.data.user = uname;
user.data.psw = upsw;
user.data.holdtime = holdtime;
user.flush(); //提交保存
}
private function getvalue():void{
var user: SharedObject = SharedObject.getLocal("user");
ti_gname.text = user.data.user;
ti_gvalue.text = user.data.psw;
ti_gtime.text = user.data.holdtime;
}
]]>
</mx:Script>
<mx:Label x="10" y="10" text="Name:"/>
<mx:TextInput x="111" y="8" id="ti_sname"/>
<mx:Label x="10" y="38" text="Value:"/>
<mx:TextInput x="111" y="36" id="ti_svalue"/>
<mx:Label x="10" y="66" text="Time To live:"/>
<mx:TextInput x="111" y="64" id="ti_stime"/>
<mx:Button x="226" y="94" label="Set" buttonDown="setvalue(ti_sname.text,ti_svalue.text,ti_stime.text);"/>
<mx:Label x="10" y="152" text="Name:"/>
<mx:TextInput x="111" y="150" id="ti_gname"/>
<mx:Label x="10" y="182" text="Value:"/>
<mx:TextInput x="111" y="180" id="ti_gvalue"/>
<mx:Label x="10" y="212" text="Time To live:"/>
<mx:TextInput x="111" y="210" id="ti_gtime"/>
<mx:Button x="225" y="250" label="Get" buttonDown="getvalue();"/>
</mx:Application>