`

flex共享对象详解(个人总结)

阅读更多

参考文章:http://flexria.blog.51cto.com/753638/156708
          http://kb2.adobe.com/cps/526/52697ee8.html

 

1、什么是共享对象:
SharedObject(共享对象)可以看作是小型的数据库,它用来存储任何Flash支持的数据类型,比如数字、字符串、数组和对象等等。
SharedObject按存放位置可分为本地型(存在客户端)和远程型(存在服务器端)。本地型共享对象的扩展名为.sol。
对于Windows98(me)用户来说,默认的存储路径是:Application Data\Macromedia\Flash Player\服务器域名路径\Flash电影文件名.swf;
对于Windows2000(xp)用户来说,默认的存储路径是:Documents and Settings\[User]\Application Data\Macromedia\Flash Player\服务器域名路径\Flash电影文件名.swf。
本地型共享对象只能将数据保存在默认路径下,而且扩展名只能是.sol。
在网上有看到说该方法受文件大小的限制,最大为1K,但经过反复实验发现,该方法并不受文件大小限制。


2、如何创建一个本地型共享对象:
要创建一个SharedObject对象,可以使用SharedObject.getLocal()方法,语法如下:
SharedObject.getLocal("objectName" [, pathname]): SharedObject
下列例子创建了一个叫做sObj的本地型共享对象:
private var sObj:SharedObject = SharedObject.getLocal("hello");
这将在客户端创建一个叫做hello.sol的文件,sObj就是本地型共享对象。


3、关于SharedObject类
使用SharedObject类,你可以创建和删除共享对象。SharedObject类主要包含下列属性和方法:
属性                 描述
data           描述了共享对象保存的属性集合的只读属性
onStatus       共享对象的事件处理器
方法                 描述
clear()        删除SharedObject中的所有数据,并且从磁盘中删除SharedObject的所有属性。
flush()        立即向客户端写入SharedObject
getLocal()     返回客户端域定义的本地共享对象的引用。如果不存在共享对象,这个方法将创建一个新的共享对象。
getSize()      获得共享对象文件的大小。默认上线是100k,如果客户端允许,还可以更大。


4、共享对象与Cookie:
共享对象功能就像浏览器的cookie。你可以使用SharedObject类来在用户的本地磁盘上保存数据,并且在当前的会话或之后的会话中调用那些数据。
程序祝你能访问它们自己的SharedObject数据,并且只能在他们欲行在相同的域的时候可以。
这些数据不会被发送到服务器,并且不能被运行在其他域下的Flex曾需访问,但是可以来自同一域中的Flex程序访问。
比较共享对象与Cookie
Cookie和共享对象都非常简单。因为大多数web程序员都很熟悉cookie的工作原理,这有助于对比cookie和本地共享对象。
Cookie遵循RFC 2109标准生成,并且拥有下列属性:
它们可以过期,通常默认在会话结束时过期;
它们可以被禁用;
最多可以有300个Cookie,并且每个站点最多可以有20个cookie;
每个Cookie通常被限制在4k大小;
某些情况下,它们会被认为是安全隐患,因而在客户端被禁用;
它们存储在由客户端浏览器指定的位置;
它们通过HTTP协议从客户端传递到服务器。
作为比照,共享对象有如下属性:
默认情况下不会过期;
默认情况下,它们被限定在每个100K大小;
它们可以保存简单数据类型(例如String,Array和Date);
它们被保存在由程序定义的位置(在用户的主目录下);
它们永远不会从客户端传递到服务器。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics