现在正在做一个flex的项目。语言中基本上的对象都是保存在Application里的。当application对象释放时,对象也消失。但是其中用到了一个SharedObject,它可以把对象像cookie一样保存在磁盘里。(磁盘路径C:\Documents and Settings\用户名\Application Data\Macromedia\Flash Player)
SharedObject是通过flash communication server 来在多个对象之间,能够实时的进行数据共有的对象。只在本地使用的本地共有对象是SharedObject对象活用最简单的例子。Flash Communication Server 不是必须的。SharedObject有各种各样的用途。本文仅对基本的概念做介绍。SharedObject是将用户的记录,喜欢的颜色,最后表示的页码记录下来的东西。下面介绍的例子是使用SharedObject来将用户输入的名称和页码的表示次数进行记录的东西。
SharedObject是和web浏览器做成的cookie来进行数据存储同样,在客户机上来进行保存数据用的。数据是SharedObject以和SharedObject做成的域作为基点,所以除非用户提供,不可以记录用户的电子邮箱地址或者个人情报。
SharedObject的做成
使用a.SharedObject 的getLocal方法来做成SharedObject。在以下的例子中,把对象文件的变量定义为myLocalSO,以下的ActionScript把flashcookie这个名字分配给SharedObject。
//本地SharedObject做成
myLocalSO = sharedobject.getLocal("flashcookie");
如果[flashcookie]不存在时,就由Macromedia Flash Player来做成一个新的SharedObject。这里请注意以下,SharedObject的名称沿用flash的命名规则,并且必须用半角。
b.getLocal方法可以指定一个叫localPath的参数。根据这个localPath参数,可以指定每个客户机的sharedObject是否保存。这个路径必须和对应的shared Object保存在同一个URL里。
代码是这样的
myLocalSO = sharedobject.getLocal("flashcookie", "/movies/mymovie.swf");
这样设定,在网站内有多个本地Shared Object 存在的时候就很方便了。
posted on 2009-01-09 23:38
静儿 阅读(2106)
评论(0) 编辑 收藏 所属分类:
技术