2013-05-06 44 views
0

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

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

和App 2保存相同的属性,但与另一个值:

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

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

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

localStorage和cookies有什么区别?

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

在此先感谢!

回答

0

localStorage是每个域。所以www.foo.com不会与www.bar.com分享任何数据。他们各自获得自己的localStorage。如果您在同一个域中有两个应用程序,但路径不同,那么您应该关注关键冲突。考虑使用store.js,因为它有一个命名空间功能,可以很容易地避免冲突:

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

Cookies是在他们尊重的路径不同,但他们也与每一个HTTP请求(更高的带宽成本一起发送),通常限制在几千字节,而localStorage通常具有多兆字节的空间。

+0

哦,和window.localStorage.setItem和localStorage.setItem没有区别。他们完全一样。 – 2013-05-07 15:32:48