【问题标题】:Using localStorage in webapp在 webapp 中使用 localStorage
【发布时间】:2013-05-06 14:13:55
【问题描述】:

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

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

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

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

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

如果我稍后删除一个 webapp(删除主屏幕上的书签),那么 localStorage 的数据是否也会被删除或者是否需要手动清除浏览器缓存(例如在设置> safari 下)?

localStorage 和 cookie 有什么区别?

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

提前致谢!

【问题讨论】:

    标签: jquery web-applications local-storage


    【解决方案1】:

    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 请求一起发送(更高的带宽成本)并且通常限制为几 KB,而 localStorage 通常具有数兆字节的空间。

    【讨论】:

    • 哦,window.localStorage.setItem 和 localStorage.setItem 没有区别。它们完全一样。
    猜你喜欢
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2020-05-17
    • 1970-01-01
    相关资源
    最近更新 更多