搜索:
首页 >> 下载中心 >> JavaScript源码 >> Fookie在JavaScript应用中使用Flash来存储本地数据

Fookie在JavaScript应用中使用Flash来存储本地数据

2009-1-11 作者:Fdream 来源:Fdream博客 投递文章

 日本人在blog上提出来的,他还有一个示例页面,这里是Demo下载地址。不过在看到这篇文章之前,我就已经在我们的项目(PPLive iKan 1.0)中用过了,其中的观看历史记录就是使用的Flash来进行存取的。

其实Flash在JavaScript应用程序中当“幕后英雄”的例子早就有过了,最先是为了解决用JavaScript复制文本的问题,用Flash这可以轻而易举地解决跨浏览器问题。我之所以想到用Flash来存储观看记录是因为我觉得用Flash来保存更有优势:

  • 存储方式可靠

JavaScript中存储本地数据的常见方式是使用Cookie,还一种方式是使用UserData。写Cookie的方式也很可靠,读写都非常的容易,但是UserData有时候却不是那么可靠,不知道为什么有时候清理Cookie都会带来莫名奇妙的问题,造成UserData无法写入或者无法读取的情况,很诡异。

  • 存储空间够大

JavaScript的Cookie容量是以网站根域为限制的,IE8允许的每个域的数量是50个(IE7貌似也允许50个,IE6是20个),Firefox也是50个,每个Cookie的大小最大为4K。而使用Flash存储数据则不一样,数据可以根据路径来分开存储,而且每个存储的默认值都是10K,不够还可以向用户申请,没有上限。

  • 数据不易被用户清空

Cookie实在是太容易被清理掉了,不过Flash存储数据的目录就非常诡异了,一般还是很难找到的,而且用户不知道你用的Flash存储的,更是没办法找到数据在哪了,绝对安全。但是如果用户有需求要清理掉的时候,你一定要为用户提供这个清理的功能。比如iKan上的列表都有删除观看记录的功能。PPLive上节目名字“诱人的”实在是太多了,难免会有人点过去,一不小心就被程序记录了,总不能让别人也看到,还是需要清理的~

不过那日本人的方法在我看来很不完美,不过我的方法现在也不够完美,但是比他提供的接口更多更灵活,使用也和他的一样简单,在绝大多数(我的方法在95%以上)时候还是能用的,等有机会再弄一个好的版本吧。

更新:

现在终于抽空整理了一下以前的应用,作为一个简单的开源项目发布了。在Google Code上的地址是:http://code.google.com/p/fookie/,代码里面有可以在vs中智能提示的文档。

JavaScript类名为Fookie,提供了以下几个Public方法:

  • Fookie.init(swfUrl, options);
  • Fookie.read(key);
  • Fookie.write(key, value);
  • Fookie.remove(key);
  • Fookie.clear();

您可以点击上面的google code地址下载最新的源代码

中国asp之家打包下载地址:fookie.rar (6.03 KB)

Tags:储存  本地  数据  flash  JavaScript 
相关文章
手机版 JavaScript源码 Asp之家 Aspxhome.com
闽ICP备06017341号