【发布时间】:2010-11-30 10:49:27
【问题描述】:
在我的演示中,我想避免使用传统数据库并将所有数据存储在客户端,例如通过表单提交的信息。
对此我有什么选择。我听说过 Gears,但没有任何实际经验。
除了字符串之外,我还可以存储二进制信息吗?一个图像?
【问题讨论】:
标签: javascript flash google-gears
在我的演示中,我想避免使用传统数据库并将所有数据存储在客户端,例如通过表单提交的信息。
对此我有什么选择。我听说过 Gears,但没有任何实际经验。
除了字符串之外,我还可以存储二进制信息吗?一个图像?
【问题讨论】:
标签: javascript flash google-gears
您可以查看YUI's StorageUtility。它可以在备用基础上使用 HTML 5、Google Gears 或 SWF。
【讨论】:
恐怕你的选择有点有限。
【讨论】:
Cookie 是跨浏览器最受支持的方式。我开源了一个小型库,用于通过本机 javascript 对象通过 Cookie 获取和保存数据。
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 的数据。
【讨论】:
正如 Andy 所说,YUI StorageUtility 是一个很好的抽象。 Dojo 有一个类似的抽象dojox.storage,它也适用于一些较旧的浏览器。如果您的数据量小于 100 KB,那么您可以轻松地使用 Flash。仔细考虑使用 HTTP cookie,因为它们不仅大小有限,而且通过网络发送,这可能是可取的,也可能是不可取的。
【讨论】:
我有一个非常简单的演示,用于测试 HTML5 的 webstorage / localstorage。
http://www.codebase.es/test/webstorage.html
你可以存储任何你想要的东西,而不仅仅是字符串。要存储图像,请将图像复制到画布中并使用 toDataURL() 方法保存数据。
但不要指望它可以在 IE 上运行...
【讨论】: