`
maloveqiao
  • 浏览: 102731 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

S3.0编程 So本地数据存储(“超级cookies”)

    博客分类:
  • as3
 
阅读更多
Flash影片运行过程中,大多数的数据都存储于影片本身,一旦影片被关闭,这些数据也就从内存中被清除掉,下次运行时,数据将从头开始。若想存储数据或者让客户端的多个影片共享同一组数据,就要想办法把数据存储在Flash播放器之外。
在ActionScript 3.0中,SharedObject类实现了在客户端机器中持久性存储数据。有两种类型的共享对象:本地和远程。本节主要介绍在本地储存数据。

创建ShareObject对象

Flash的ShareObject对象一般简称为SO,类似于Web浏览器中的cookies。它们被一些开发者称为“超级cookies”,因为SO可以存储大量数据,且存储和读取的都是原生的ActionScript类型数据。
ShareObject 对象默认的空间大小100KB,用户可以通过FlashPlayer'sSettingsManager控制的使用空间大小,来严格限制被使用的空间。存储在本地计算机的SO文件是一种二进制文件,扩展名为.sol。不同的SWF影片可以通过flash.net.SharedObject类进行读写.sol文件。
创建的.sol文件被放置在Flash播放器对应的应用程序数据目录,以Windows为例,目录为:C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player\#SharedObjects,在此主目录下使用随机字符命名目录,记录数据。

向SO上写入数据

要实现添加数据到SO上,只需给SO对象的data属性添加属性值。共享对象SO有个内建的属性data,data属性类型为object,因而可以添加任何信息上去。如下面的示例代码所示。
//存储username值给so共享对象
so.data.username= "浪子啸天";
注意:既不能直接向SO共享对象赋值,也不能直接向SO共享对象的data属性赋值,这样的结果都是错误的。
如下面的两行写入数据的方法都是错误的,错误代码如下所示。
so.username="浪子啸天";
so.data="浪子啸天";

读取SO数据

要实现在客户端读取SO数据,原理很简单。因为这些持久性数据都保存在共享对象的data属性里,只需要访问Data对象的相关属性就Ok了。
下面的示例实现读取SO中储存的数据,代码如下所示。
var so:SharedObject=SharedObject.getLocal("test")
//将数据写入so
so.data.username="浪子啸天"
so.data.sex="男"
//写入数据
so.flush()
//读取so中的username
var user=so.data.username
trace(user)//输出:浪子啸天
trace(so.data.sex)//输出:男

删除保存的SO共享数据

要实现删除共享对象中的某个属性值或者删除整个共享对象,需要使用两种不同的方法:用delete删除共享对象的data属性中的值;使用clear()方法清除整个共享对象。
下面的示例使用delete关键字删除SO共享对象的data对象中的sex属性,代码如下所示。
var so:SharedObject=SharedObject.getLocal("test")
//将数据写入so
so.data.username="浪子啸天"
so.data.sex="男"
//写入数据
so.flush()
//删除so中的sex属性
delete so.data.sex
trace(so.data.sex)//输出:undefined,说明删除成功
trace(so.data.username)//输出:浪子啸天

=================================================================
 在 AS3 里的Local SharedObject用法跟 AS2 是一样的。
SO存储在计算机的一个文件里面,跟Cookie很相似。路径是C:\Documents and Settings\用户名\Application Data\Macromedia\Flash Player\#SharedObjects\

基本用法:  

//定义一个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);



注意:本地Flash存储设置不能为“无”,而且容量未满。
    


Local SharedObject使用起来有不少限制,所以都是用来记录一些不大重要的信息。例如登陆时的用户名之类的。
现在不少Flash游戏有存档,绝大不分也是用这个SO。
分享到:
评论

相关推荐

    ASP 3.0高级编程(一)

    ### ASP 3.0高级编程知识点详解 #### ASP 3.0概述 ASP(Active Server Pages)3.0是微软开发的一种服务器端脚本环境,用于创建动态网页和应用程序。它允许网页开发者在HTML页面中嵌入脚本或ActiveX组件,从而实现更...

    export cookies&&all cookies For firefox3.0

    标题中的"export cookies&&all cookies For firefox3.0"指的是针对Firefox 3.0浏览器的扩展,用于导出和管理用户的cookies数据。这个过程对于理解网络浏览行为、数据隐私以及测试自动化等方面非常重要。 首先,我们...

    计算机软件-编程源码-精通ASP3.0网络编程.zip

    在这个名为“精通ASP3.0网络编程”的压缩包中,你将找到一系列资源,帮助你深入理解和掌握ASP3.0的核心概念和技术。 ASP3.0是ASP技术的第三个主要版本,它在ASP2.0的基础上进行了许多改进和增强,包括性能优化、...

    浅谈ASP 3.0高级编程(一).doc

    ### 浅谈ASP 3.0高级编程(一) #### 引言 本文旨在探讨ASP 3.0中关于请求和响应对象的高级编程技术。ASP(Active Server Pages)是一种服务器端脚本环境,用于创建动态网页。在ASP 3.0版本中,开发者可以利用...

    易语言取COOKIES目录源码

    3. **获取目录路径**:使用系统API或易语言内置的函数来获取系统默认的Cookies存储路径。这可能涉及到Windows API调用,如`GetCookiesPath`,或者易语言的`系统.文件路径.获取系统目录`等命令。 4. **解析Cookies**...

    cookiesjs让使用javascript超级简单得操作cookies在前端

    - 本地存储替代:随着HTML5的普及,`localStorage`和`sessionStorage`提供更大容量且更安全的本地数据存储,但`cookies.js`在兼容性和灵活性方面仍有其价值。 综上所述,`cookies.js`是一个强大的工具,使前端...

    c++生成cookies代码

    - Cookies是服务器发送到用户浏览器并存储在本地的一小段文本数据,主要用于跟踪用户会话、存储用户偏好等。 - 每个Cookie由多个键值对组成,如`name=value`形式,并通过HTTP头字段`Set-Cookie`设置。 2. **C++与...

    flash cookie 完整例子(as源码、mvc3.0源码)

    Flash Cookie,也称为Local Shared Objects (LSO),是Adobe Flash技术提供的一种数据存储机制,用于在用户的计算机上存储数据,类似于传统的HTTP Cookies。Flash Cookie在某些方面比HTTP Cookies更强大,因为它们...

    Servlet 3.0 - Apache Tomcat 7.0.61

    Servlet 3.0是Java Web开发中的一个重要里程碑,它带来了许多新特性和改进,使得开发者在构建Web应用程序时更加高效和灵活。Apache Tomcat 7.0.61是广泛使用的开源Servlet容器,它实现了Servlet 3.0规范,提供了稳定...

    基于Vue 服务端Cookies删除的问题

    有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。 另外两种是HTML5提供的: 不参与和服务器的...

    POST应用之COOKIES管理(可应用于多线程及多COOKIES管理)

    当用户访问一个网站时,服务器可以通过设置COOKIES来存储一些数据,如用户的登录状态、购物车信息等。这些COOKIES会被保存在用户的浏览器中,当用户再次请求同一网站时,浏览器会自动发送之前保存的COOKIES,使得...

    前端cookies安全视频

    1. 数据泄露:由于Cookies存储在客户端,如果用户的设备被恶意软件感染或存在不安全的网络环境,Cookies可能会被窃取,导致敏感信息泄露。 2. CSRF(跨站请求伪造)攻击:攻击者可以利用未设置安全性的Cookies发起...

    易语言 获取Cookies源码

    4. **存储和读取Cookies**:获取到Cookies后,通常需要将其存储在本地,以便后续请求使用。易语言可能提供了文件操作函数,如打开、写入和读取文件,以实现这一功能。 5. **Cookies管理**:考虑到Cookies的有效期和...

    php Cookies 操作控制类

    在PHP编程中,Cookies是一种非常重要的技术,用于在客户端存储数据。它们允许网站在用户浏览网页时跟踪和存储信息,例如用户首选项、登录状态等。`php Cookies 操作控制类`提供了一种方便的方式来管理和操作这些数据...

    Java数据编程指南

    【原 书 名】 Professional Java Data 【原出版社】 Wrox 【作 者】[美] Danny Ayers ,John Bell ,Carl Calvert Bettis等 【译 者】 戴英 张晓晖 王辉 等 【丛 书 名】 乐思公司编程指南系列 ...

    网页操作类(光庆版3.0).zip

    《易语言网页操作类(光庆版3.0)详解》 在计算机编程领域,与网页交互是一项重要的技能。易语言作为一款中国本土的、面向初学者和专业开发者 alike 的编程语言,以其简洁的语法和丰富的功能库深受喜爱。本文将深入...

    HTML5-CSS3.0参考手册

    6. **Web Storage**:包括localStorage和sessionStorage,用于在用户浏览器中存储大量数据,比传统的cookies更安全且容量更大。 7. **Web Workers和Web sockets**:Web Workers用于在后台线程执行密集计算任务,...

    Cookies.rar_cookies_cookies.rar_delphi cooki_delphi cooki_浏览器

    Cookies是服务器发送到用户浏览器并存储在本地的一小段数据,用于跟踪和维护用户的会话信息、个性化设置等。本压缩包"Cookies.rar"包含了一个用Delphi编写的程序,其目标是帮助开发者获取和修改浏览器中的Cookies。 ...

    wodig3.0 中文社区

    2. **多语言支持**:特别强调“中文社区”,意味着wodig3.0在界面和操作上对中文用户友好,提供了完整的中文界面和本地化支持,方便中文用户使用。 3. **核心功能组件**: - **DelPost.asp**:这是一个用于删除...

    IECookies查看器

    Cookies是由Web服务器发送到用户的浏览器并在本地存储的数据,通常包含一个唯一的标识符、过期日期、以及与生成Cookie的网站相关的数据。当用户再次访问同一网站时,浏览器会将这些Cookies回传给服务器,从而让...

Global site tag (gtag.js) - Google Analytics