現在正在做一個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
靜兒 閱讀(2111)
評論(0) 編輯 收藏 所屬分類:
技術