0

我有一些问题要在 jquery 移动 webapp 中使用 localStorage 对象:我有两个应用程序,我想在这两个应用程序中处理一些设置。例如,应用程序 1 保存如下值:

localStorage.setItem("example", "one");

并且应用程序 2 保存相同的属性但具有另一个值:

localStorage.setItem("example", "two");

如果我随后使用 getItem 读取设置会发生什么?是否有任何应用程序有自己的存储空间,或者应用程序 1 是否可以读取应用程序 2 的设置?

如果我稍后删除 web 应用程序(删除主屏幕上的书签),那么 localStorage 的数据也会被删除还是需要手动清除浏览器缓存(例如在设置 > safari 下)?

localStorage 和 cookie 有什么区别?

localStorage.setItem() 和 window.localStorage.setItem() 有什么区别?

提前致谢!

4

1 回答 1

0

localStorage 是每个域。因此 www.foo.com 不与 www.bar.com 共享任何数据。他们每个人都有自己的本地存储。如果您在同一个域上确实有两个应用程序,但路径不同,那么您应该关注密钥冲突。考虑使用store.js,因为它具有命名空间功能,可以轻松避免冲突:

var settings = store.namespace('app1');
settings('example', 'one'); // will automatically store as 'app1.example'

Cookie 的不同之处在于它们确实尊重路径,但它们也与每个 http 请求一起发送(更高的带宽成本)并且通常限制在几千字节,而 localStorage 通常有几兆字节的空间。

于 2013-05-06T15:24:29.160 回答