我有一个适用于除 IE 之外的所有浏览器的应用程序。我正在使用 HTML5 提供的本地数据库。我需要为应用程序的用户存储 3 个属性。我知道在 IE 中我不能使用数据库方法,我正在考虑使用存储在本地存储中的 3 个数组,每个属性一个数组。有没有更好(更简单)的方法来做到这一点?
谢谢
例如,我想存储 1)目的地 2)它们来自哪里 3)日期 所以我想我将存储一个目的地数组,一个来自位置的数组和一个日期数组。然后使用一些 id 我可以索引数组并获取相应的信息。
我有一个适用于除 IE 之外的所有浏览器的应用程序。我正在使用 HTML5 提供的本地数据库。我需要为应用程序的用户存储 3 个属性。我知道在 IE 中我不能使用数据库方法,我正在考虑使用存储在本地存储中的 3 个数组,每个属性一个数组。有没有更好(更简单)的方法来做到这一点?
谢谢
例如,我想存储 1)目的地 2)它们来自哪里 3)日期 所以我想我将存储一个目的地数组,一个来自位置的数组和一个日期数组。然后使用一些 id 我可以索引数组并获取相应的信息。
如果您需要本地存储,那么您需要本地存储!根据您描述的信息,我认为在会话 cookie 中使用它可能太重了。
查看文档。请注意,只有 IE8+ 支持此功能,因此如果您需要支持其他版本 - 您需要做一些额外的工作。
我会在可能的情况下亲自启用 localStorage,然后如果浏览器不支持它(并且数据对于 cookie 来说肯定太多),则回退到服务器的往返行程。
请记住,如果浏览器不支持 localStorage 等, Rafael建议的polyfill将回退到 cookie。请务必使用良好的数据分布进行测试,并记住它将在每个请求中发送所有数据(这有它自己的后果)。
对于 IE,可以使用 polyfill 来模拟原生 localStorage:https ://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
LocalStorage 使用键:值系统。但是您可以使用 JSON.Stringify 和 JSON.parse 在一个键中保存多个数据。
IE 中的 localStorage 不适用于此 url:file:///P:/Dropbox/abc_web/ingrid8/ingrid.htm#car..
如果可行,通过网络:file://pedrojelp/p/Dropbox/abc_web/ingrid8/ingrid.htm#car..