測試環境:
1. Windows XP Pro
2. Flex Builder 2.0.1
ShareObject 類別允許你將小量資料儲存在用戶端電腦。ShareObject 有點類似瀏覽器的 Cookie。應用程式只能存取屬於自己的資料,且應用程式必須和資料同屬於同一個網域(Domain)。但是這個資料並不能傳送到伺服器端。
ShareObject 提供下面的方法
clear()
|
從 ShareObject 中清空所有的資料,並從檔案磁碟刪除 ShareObject 檔案。
|
flush()
|
將 ShareObject 直接寫入用戶端的檔案
|
getLocal()
|
回傳 ShareObject 所在的 Domain。假如不存在,這個方法會在用戶端建立一個新的 ShareObject
|
getSize()
|
Gets the size of the SharedObject file, in bytes. The default size limit is 100KB, although it can be larger if the client allows it.
|
屬性:
data
|
(唯讀)儲存在 ShareObject 中的資料
|
onStatus
|
當 ShareObject 發生警告、錯誤或其他訊息時會觸發這個事件
|
建立 ShareObject 的語法如下:
SharedObject.getLocal("objectName" [, pathname]): SharedObject
下面是簡單的範例:
public var mySO:SharedObject;
mySO = SharedObject.getLocal("preferences");
上述如果在 local 端執行,Flash Player 會產生 preferences.sol 到下面路徑
c:/Documents and Settings/username/Application Data/Macromedia/Flash Player/#SharedObjects/一串數字/localhost/應用程式路徑/SWF 檔名/
以我的情況來說,我的帳號是 Administrator,SWF 放在 "C:/Documents and Settings/Administrator.MYCHAT-1A793BE7/My Documents/Flex Builder 2/Example/bin",preferences.sol 會存放到下面路徑
C:/Documents and Settings/Administrator.MYCHAT-1A793BE7/Application Data/Macromedia/Flash Player/#SharedObjects/96FX85HW/localhost/Documents and Settings/Administrator.MYCHAT-1A793BE7/My Documents/Flex Builder 2/Example/bin/Example.swf/
註:上述路徑和文件所述有出入,不知道是否為文件錯誤。
註:如果你只有執行上述的 getLocal 並不會立即產生 *.sol,你可以在後面加上一行 mySO.flush() 利即將資料寫入檔案。
註:如果程式是在網路上執行,則路徑結構會變為
c:/Documents and Settings/username/Application Data/Macromedia/Flash Player/#SharedObjects/一串數字/web_domain/應用程式路徑/SWF 檔名/
如:
C:/Documents and Settings/Administrator.MYCHAT-1A793BE7/Application Data/Macromedia/Flash Player/#SharedObjects/96FX85HW/www.box.net/static/flash/box_explorer.swf/
註:假如 getLocal 沒有提供 sol 名稱,則會使用 undefined.sol
註:預設情況 ShareObject 在每個網域只能儲存 100KB,如果超過時,Flash Player 會要求使用者允許儲存超過 100KB 的資料
註:也可以使用 getLocal 的第二個參數來指定儲存位置,但必須是目前網域的子目錄
註:可以一次建立多個 ShareOjbect
存取 ShareObject 資料的方法很簡單,只要透過 data 屬性,後面接需要儲存的變數名稱,如下:
// 寫入資料
mySO.data.name= "Chui-Wen Chiu";
mySO.data.age= 27;
// 讀取資料
trace( mySO.data.name )
SharedObject 範例:紀錄登出時間
點一下 Log out 在重新載入 Flash 會看到上次登入時間
|
<?xml version="1.0"?>
<!-- lsos/WelcomeMessage.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()">
<mx:Script><![CDATA[
public var mySO:SharedObject;
[Bindable]
public var welcomeMessage:String;
public function initApp():void {
mySO = SharedObject.getLocal("mydata");
if (mySO.data.visitDate==null) {
welcomeMessage = "Hello first-timer!"
} else {
welcomeMessage = "Welcome back. You last visited on " +
getVisitDate();
}
}
private function getVisitDate():Date {
return mySO.data.visitDate;
}
private function storeDate():void {
mySO.data.visitDate = new Date();
mySO.flush();
}
private function deleteLSO():void {
// Deletes the SharedObject from the client machine.
// Next time they log in, they will be a 'first-timer'.
mySO.clear();
}
]]></mx:Script>
<mx:Label id="label1" text="{welcomeMessage}"/>
<mx:Button label="Log Out" click="storeDate()"/>
<mx:Button label="Delete LSO" click="deleteLSO()"/>
</mx:Application>
|
<!--?xml version="1.0"?-->
<!-- lsos/WelcomeMessage.mxml -->
分享到:
相关推荐
NULL 博文链接:https://ch-kexin.iteye.com/blog/1229696
仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可
Share object一般用来保存前来访问的用户的个人信息到用户的机器上。比如用户登陆过后保存他的名字,下次访问时自动显示,或者保存用户的个性化设置等等。
ShareObject,顾名思义共享对象,而通常意义上的共享,从B/S结构上来讲,无非是客户端(浏览器端)的共享和服务器端的共享了,不错,ShareObject刚好份演了这两种角色。而且ShareObject也是按此进行了两种分类,一类是LSO...
ShareObject 实例,通过此例就可以理解
在不连接数据库的情况下,保存数据,并在下次打开SWF文件时依旧可以读取到以前写入的数据. 其他的可以照葫芦画瓢,都一个样的。
Table of Contents Change History i Table of Contents ii 1.ActionSctipt核心概念 1 ...8.3读写ShareObject 40 8.4 BlazeDS配置及使用 40 8.5 回溯 40 8.6 Event 40 8.7 代码优化 40 8.8 Demo 40
ShareObject详解,相当于ShareObject帮助文档
juv-rtmp-client shareobject连接,java版本rtmp的shareobject连接。可以实现java rtmp shareobject数据连接
flex + red5 开发聊天室,即时聊天采用 ShareObject.
flash端报错统一处理,重力特效和商品图片加入购物车的动画效果,flex 渲染器,修改标题栏皮肤,ShareObject,State切换
智能卡应用防火墙与共享机制,智能卡应用防火墙与共享机制,智能卡应用防火墙与共享机制,智能卡应用防火墙与共享机制
AS3 SharedObject 本地通讯 小例子!以前很久的时候参考网上例子学习的!刚接触本地通讯的童鞋可以试试。
shared Object对象相当强大,他提供了在多个客户端实时数据共享,并且可以存储在客户端或远程服务器。可以把本地共享对象比作cookies,把远程共享对象看作实时的数据传输设备。
使用AS2外部类库对ShareObject函数功能进行整合,可以直接创建对象对Flash Cookie进行读写.
如何利用Flash代码让Flash动画中的数据储存在电脑上。一般是利用Flash中的ShareObject代码来实现的。(下载的文件中有fla源文件,源文件中说明非常详细。)
1、Powerbuilder9.0_8836的版本 2、采用API,支持串口信号事件 3、事件监听、读字符,写字符都是采用...4、多线程用的是PB的shareobject方法,不会crash。 5、内含虚拟串口工具和串口调试工具以及API串口相关说明文档。
1、Powerbuilder9.0_8836的版本 2、采用API,支持串口信号事件 3、事件监听、读字符,写字符都是采用的是多线程 4、多线程用的是PB的shareobject方法,不会crash。 5、内含虚拟串口工具和串口调试工具以及API串口...
Cookies.as ---------------------- shareObject类似cookies HtmCookies.as ---------------------- 真实cookies JavaScript.as ---------------------- javascript交互 ...