使用SharedObject进行客户端持久性?

时间:2009-05-06 20:14:17

标签: ajax flash actionscript-3

有没有人使用Flash的SharedObject机制进行客户端持久化?有大gatcha吗?尺寸限制?

2 个答案:

答案 0 :(得分:2)

使用AS3的SharedObjects非常简单,但是这里有一些需要注意的事项。但没什么太严重的。

  • 尺寸限制。是的,有一个100kb 每个站点限制。什么时候 用户获得此限制 小弹出要求增加 仅适用于您网站的限制。您可以 正确地改变你自己的限制 点击嵌入的SWF并继续 到“设置>本地存储”。

  • <强>数据类型即可。您可以存储适用于Flash的任何数据类型。

  • <强>调试即可。通常,调试有助于查看共享对象中实际存储的内容。有很多工具,但我建议SharedObject Reader from Sephiroth。 FlashDevelop还附带了一个版本。

  • 安全即可。使用SharedObjects 几乎没有“安全性”,它们基本上是没有加密的文本文件,因此不要使用它们来存储使用用户名和密码。但请记住,只有创建SharedObject的站点才能访问它(以及任何具有文件系统访问权限的任何人/任何东西)。

  • 位置即可。您可以在“ C:/ Documents and Settings / [USERNAME] / Application Data / Macromedia / Flash Player /#SharedObjects /

    <中找到实际的.SOL文件(在Windows XP上) / LI>
  • 重置即可。我发现我的SharedObject通常会停止工作,因为在开发期间,已经存储了损坏的数据。在这种情况下,最好的办法就是删除.SOL文件并重新开始。

希望这会有所帮助。如果有关如何实际使用SharedObjects的更多信息,A肯定会读取HOWTO: SharedObjects for Local Storage AS3

答案 1 :(得分:1)

关于SharedObjects文档应该记住的事情:

  • 默认情况下,它们不会过期。
  • 默认情况下,它们的大小限制为每个100 KB。
  • 它们可以存储简单的数据类型(例如String,Array和Date)。
  • 它们存储在应用程序指定的位置(在用户的主目录中)。
  • 它们永远不会在客户端和服务器之间传输。
  • 使用getLocal()创建共享对象。 (SharedObject.getLocal(“myTasks”);)
  • 使用flush()将共享对象写入客户端文件。 (sharedObj.flush())
  • 使用clear()销毁共享对象(sharedObj.clear())

另请注意,保存数据的位置取决于所使用的浏览器。

所以是的,这绝对适合存储简单的数据。