客户端持久性(存储)

时间:2009-09-22 15:21:29

标签: javascript flash google-gears

在我的演示中,我想避免使用传统的数据库并将所有数据存储在客户端,例如通过表格提交的信息。

我有什么替代方案。我听说过Gears,但我没有任何实际经验。

除了字符串之外,我还可以存储二进制信息,例如一个图像?

5 个答案:

答案 0 :(得分:5)

您可以查看YUI's StorageUtility。它可以在后备的基础上使用HTML 5,Google Gears或SWF。

答案 1 :(得分:1)

我担心你的选择有限。

答案 2 :(得分:1)

Cookie是支持跨浏览器的最受支持的方式。我已经开源了一个小型库,用于通过本地javascript对象通过Cookies获取和保存数据。

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/cookies.js

欢迎您复制并按照您认为合适的方式使用。如果你原样使用它,你还需要这个javascript命名空间隔离代码:

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/namespace.js

如果您拥有大量数据,则必须在许多不同的Cookie中分发数据。您通常可以依靠每个cookie最多可以保存4K数据。

答案 3 :(得分:1)

正如Andy所说,YUI StorageUtility是一个很好的抽象。 Dojo有一个类似的抽象dojox.storage,它也适用于一些旧的浏览器。如果您的数据量是< 100 KB,那么您可以轻松使用Flash。仔细考虑使用HTTP cookie,因为它们不仅尺寸有限,而且通过网络发送,这可能是也可能不是。

答案 4 :(得分:0)

我有一个非常简单的演示来测试HTML5的webstorage / localstorage。

http://www.codebase.es/test/webstorage.html

您可以存储您想要的任何内容,而不仅仅是字符串。要存储图像,请将图像复制到画布并使用toDataURL()方法保存数据。

但是不要指望它能在IE上运行......