`

Flash本地共享对象(SharedObject)

阅读更多
//定义一个SO
     var mySO:SharedObject;
     //获取本地的一个SO
     mySO = SharedObject.getLocal("beniSO");
     //在SO里面存储数据
     mySO.data.name = "Beni";
     mySO.data.sex = "sex";
     //获取SO里面的数据
     trace ("name is: " + mySO.data.name);
     trace ("sex is: " + mySO.data.sex);
包 类 public class SharedObject 继承 SharedObject 语言版本 : ActionScript 3.0 Player 版本 : Flash Player 9 SharedObject 类用于在用户计算机或服务器上读取和存储有限的数据量。 使用共享对象,可在永久贮存在本地计算机或远程服务器上的多个客户端 SWF 文件和对象之间实现实时数据共享。 本地共享对象类似于浏览器 Cookie,远程共享对象类似于实时数据传输设备。 若要使用远程共享对象,则需要一个服务器(如 Adobe Flex 或 Adobe 的 Macromedia Flash Media Server 2)。
NetStream 类中的一些属性和方法主要用于服务器(如 Flash Media Server 2 或 Flex)。 它们可能包含更多的服务器端功能。 有关其它文档,请参阅 Flash Media Server documentation中的 NetStream 类。

下文介绍了共享对象的三种常见用法:

维护本地永久性。 这是使用共享对象的最简单用途,并且无需使用服务器。 例如,可以调用 SharedObject.getLocal() 在 Flash Player 应用程序中创建共享对象,如带记忆功能的计算器。 用户关闭计算器时,Flash Player 将在用户计算机的共享对象中保存最后一个值。 计算器下一次运行时,将包含先前所拥有的值。 或者,在计算器应用程序关闭之前,如果将共享对象属性设置为 null,那么,当应用程序在下一次运行时,将不带任何先前值。
维护本地永久性的另一示例就是跟踪用户首选项或复杂网站的其它数据,如用户在新闻网站上所阅读文章的记录。 跟踪此信息将允许您以不同方式分别显示已经阅读的文章和新的未读文章。 在用户计算机上存储此信息可减小服务器负载。

在服务器上存储和共享数据。 可以联机或脱机工作的电话簿应用程序就是一个示例。 当 Internet 连接可用时,应用程序将从服务器上的远程共享对象检索最新信息。 当没有连接可用时,应用程序将使用在保存在本地共享对象中的最新数据。
实时共享数据。 共享对象可以实现多个客户端的实时数据共享。 例如,您可以打开一个存储有实时数据的远程共享对象(如连接到聊天室的用户的列表),连接到该对象的所有客户端均能看到此共享对象。 当用户进入或离开聊天室时,对象即被更新,连接到该对象的所有客户端均能看到聊天室用户的更新列表。
若要创建本地共享对象,请使用以下语法:

var so:SharedObject = SharedObject.getLocal("userHighScore");
so.data.highScore = new Number(1234567890);
so.flush();
在示例中,共享对象被显式刷新,或被写入磁盘。 在应用程序关闭时,将自动刷新共享对象;但此处显示刷新是为了说明将数据写入磁盘的步骤。

本地磁盘空间注意事项:本地共享对象将非常有用,但它们也有一些限制,这些限制很重要,您在设计应用程序时应予 以考虑。 有时可能不允许 SWF 文件写入本地共享对象,有时可能在您不知情的情况下删除在本地共享对象中存储的数据。 Flash Player 用户可以管理对单个域或所有域可用的磁盘空间。 当用户减少可用磁盘空间时,一些本地共享对象可能会被删除。 Flash Player 用户还具有隐私控制能力,它们可防止第三方域(当前浏览器地址栏中域之外的域)读取或写入本地共享对象。

注意:在本地计算机上(而不是从远程服务器)存储和运行的 SWF 文件始终可以将第三方共享对象写入磁盘,即便用户不允许由第三方域将共享对象写入磁盘。 有关第三方共享对象的详细信息,请参阅 Global Storage Settings panel中有关第三方内容的论述。

Adobe 建议您检查与磁盘空间数量和用户隐私控制相关的故障。 在调用 getLocal() 和 flush() 时执行这些检查:

SharedObject.getLocal() -- 调用此方法失败时(如用户禁用了第三方共享对象,并且您的 SWF 文件的域与浏览器地址栏中的域不匹配),Flash Player 将引发异常。
SharedObject.flush() -- 调用此方法失败时,Flash Player 将引发异常。 调用成功时,将返回 SharedObjectFlushStatus.FLUSHED。 需要额外存储空间时,将返回 SharedObjectFlushStatus.PENDING。 Flash Player 提示用户增加本地保存信息的存储空间。 随后,对 netStatus 事件进行调度,同时信息对象将指示刷新是否成功。
如果您的 SWF 文件尝试创建或修改本地共享对象,请确保 SWF 文件的宽度至少为 215 像素,高度至少为 138 像素,这是用于显示提示用户增加其本地共享对象存储限制的对话框的最小尺寸。 如果您的 SWF 文件小于这些尺寸,且需要增加存储限制,则 SharedObject.flush() 失败,返回 SharedObjectFlushedStatus.PENDING,并调度 netStatus 事件。
分享到:
评论

相关推荐

    flash本地共享对象保存

    下面将详细阐述Flash本地共享对象的基本概念、用途、工作原理以及如何使用它来保存游戏进度。 1. **基本概念**: - **SharedObject**: 在Flash中,SharedObject是AS3(ActionScript 3)提供的一个类,用于在客户端...

    shared Object 用法

    使用`SharedObject.getLocal()`方法可以创建一个本地共享对象。数据会通过`data`属性保存,并在用户下次运行SWF文件时可继续访问。需要注意的是,如果在影片结束时清空了共享对象的属性,那么下次启动时将无法获取到...

    Flex学习—关于Shareobject对象(本地共享对象)

    本文将深入探讨Flex中的一个重要组件——ShareObject,也称为本地共享对象,它允许应用程序在用户计算机上存储数据,实现数据的持久化。 ShareObject是Flex提供的一种轻量级的数据存储解决方案,它类似于Web浏览器...

    flex shareObject 本地共享

    仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可

    Flash中数据的存储和读取

    - **本地共享对象**:数据存储在用户的本地系统,可以在同一台计算机的不同应用程序之间共享。 - **网络共享对象**:如果Flash Player允许,数据会被存储在服务器端,这样多个用户可以共享这些数据。 ### 2. 创建和...

    ShareObject对象详解

    LSO(本地共享对象)类似于Cookie,但提供更大的存储空间和更高的性能。它主要用于在用户浏览器本地存储数据,这些数据可以跨会话持久化。以下是如何使用LSO的简单步骤: 1. 获取LSO: `var so:SharedObject = ...

    fms 中文文档 10

    - **永久的本地共享对象**:通过调用客户端的`SharedObject.getLocal()`方法创建,扩展名为.sol。可以指定`localPath`参数来确定存储路径。 - **永久的远程共享对象**:在客户端代码中,使用`SharedObject.getRemote...

    FLASH与PHP交互参数传递

    2. **SharedObject**:共享对象允许在客户端和服务器之间存储数据,类似于Cookie,但容量更大,更适合小规模的数据交换。 **二、使用URLLoader传递参数** 1. **在Flash中设置请求**: - 创建一个URLVariables对象...

    使用flash在客户端存储数据

    Flash曾经是互联网上广泛使用的交互式内容平台,其中包括一项功能,允许网站在用户的浏览器中存储信息,以便在用户下次访问时仍能访问这些信息,这种技术被称为“本地共享对象”(Local Shared Objects,LSO)。...

    在浏览器中使用flash 存储客户端数据

    Flash的本地共享对象(Local Shared Objects, LSOs)是这种存储机制的核心。LSOs类似于浏览器的Cookie,但它们可以存储更多的数据(最大可达到100KB,具体取决于浏览器设置)并且不局限于文本,还可以存储二进制数据...

    实现在客户端的页面缓存

    例如,可以使用`SharedObject.getLocal()`方法获取或创建一个本地共享对象,并通过`data`属性进行数据的读写操作。 3. **数据读取**:当用户再次访问页面时,Flash插件会检查本地是否存在缓存的数据,如果存在,则...

    Flex和Fms3打造在线聊天室 源码和文档

    SharedObject类似于小型的客户端缓存,它可以在本地存储数据,并在需要时与服务器同步。在Flex中,我们可以通过创建SharedObject实例,设置其大小和存储位置,然后利用它的数据属性来读写数据。 具体到这个源码和...

    Flex数据共享与压缩

    Flash Player提供了两种主要的本地存储方式:SharedObject和LocalConnection。SharedObject用于存储类似Cookie的数据,提供了一种在用户计算机上持久化小型数据的方法。每个SharedObject的大小默认限制为100KB,这是...

    flash与flash传值演示

    SharedObject类似于Cookie,可以在本地存储小量数据。在AA.fla中写入数据,然后在BB.fla中读取。 6. **事件监听**:如果两个FLA文件都在同一舞台上,可以通过事件监听来传递数据。例如,AA.fla可以触发一个自定义...

    C#与Flash交互

    5. **SharedObject**:在本地或服务器上存储小量数据,适合简单的用户状态保存或轻量级数据共享。C#端需要配合服务器端逻辑来处理SharedObject的数据。 在实际开发中,为了实现C#与Flash的交互,开发者通常会编写一...

    flashSolEditor.rar

    【描述】:FlashSolEditor的核心功能是编辑SWF文件中的SharedObject(共享对象),这些对象存储了游戏的用户数据,如分数、等级、道具等。通过这款工具,用户可以修改这些数据,从而实现游戏内的作弊或者调试目的。...

    Flex与Flash相互调用实例

    如果Flex和Flash需要共享一些临时或持久性的数据,可以利用SharedObject。 4. ExternalInterface:这个接口允许Flash内容与宿主环境(如HTML页面)进行通信,而Flex可以通过嵌入在HTML中的Flash Player与Flash内容...

    flash,sol变量修改器

    而“Sol”则是Flash中的一个特殊概念,全称为“Shared Object”,共享对象,是Flash Player提供的一种数据存储机制。现在我们来深入探讨Flash中的Sol变量修改器及其相关知识点。 1. **Shared Objects (Sol)**: ...

Global site tag (gtag.js) - Google Analytics