2

我需要一个离线缓存系统,我的应用程序可以在其中存储大约 0.5 MB 的数据。最好是用户不需要交互,但少量的用户交互可能是可以接受的

目前,微软的 Silverlight 被用于离线存储数据。它是插件的大量下载,并且在大多数机器上都没有作为标准安装。

我一直在考虑饼干——但它们太不稳定了。我可以想象有人可能会清除浏览器缓存并丢失所有数据的多种原因。

我不确定 HTML 5 存储,以及它在实践中的易失性。

我一直在研究闪存,它安装在超过 97% 的 Windows 计算机上。看来我可以从用户选择的文件中加载数据,并将数据保存到用户选择的文件中。

我的问题...

  1. Windows 的 microsoft silverlight 插件下载(以 MB 为单位)有多大?(我想大约8mb,但没有从互联网上得到明确的答案)

  2. 用户如何意外(或故意没有意识到后果)清除他们在普通浏览器上的 HTML 5 存储?

  3. 有没有办法让闪存在没有用户交互的情况下从本地文件存储加载数据?

  4. 还有其他我没有考虑过的选择吗?

4

2 回答 2

2

好吧,您可以使用 Flash 共享对象存储,这将允许 0 到无限空间。检查此设置面板以了解您自己的设置的详细信息,以更好地了解我的意思。

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager03.html

当然,这确实意味着用户必须允许在本地存储第三方 Flash 内容,这是默认设置。此外,默认存储空间为 100KB,系统会提示用户允许更大的存储空间,除非他们之前自己增加了默认存储空间。所以这是一个小缺点,但仍然可行。

我不确定您将如何从 silverlight 应用程序中访问共享对象,因为我只通过 Flash swf 使用它。我将使用 javascript 进行一些挖掘,然后回复您。

还有另一篇文章可以帮助你:

Javascript 桥接到 Flash 以在 Flash 中存储 SO“cookies”

于 2012-01-30T22:22:51.037 回答
0

听起来您需要的是隔离存储

我将它与我所有的 silverlight 应用程序一起使用,并且使用起来再简单不过了。只需几次调用,您就可以以编程方式存储和检索数据。

编辑:我在想你的应用程序已经在 Silverlight 中编程。你的应用程序是用什么编程的?目前只是 HTML/CSS 吗?

于 2012-01-28T22:00:19.983 回答