在我的演示中,我想避免使用传统的数据库并将所有数据存储在客户端,例如通过表单提交的信息。
我有什么选择。我听说过 Gears,但我没有任何实际经验。
除了字符串之外,我还可以存储二进制信息,例如图像吗?
在我的演示中,我想避免使用传统的数据库并将所有数据存储在客户端,例如通过表单提交的信息。
我有什么选择。我听说过 Gears,但我没有任何实际经验。
除了字符串之外,我还可以存储二进制信息,例如图像吗?
你可以看看YUI 的 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 上运行......