移动web浏览器和移动web应用程序共享相同的localStorage吗?
Do mobile web browsers and mobile web apps share the same localStorage
我正在做一个移动设备的网站。该网站可以通过普通的网络浏览器访问,也可以通过一个应用程序访问,这个应用程序只是一个浏览器外壳,可以打开移动网站。为了加快移动端网站的加载速度,我们减少了请求,使用了数据uri等。最近我们开始使用localStorage来保存样式和JavaScript数据到设备。
你可能会问为什么?在我们的测试中,移动浏览器在整个会话期间以及在浏览器关闭和重新打开时都保持着它们的缓存。当应用程序被使用时,它会保持它的缓存,但是当它被关闭和重新打开时,它会重新请求所有内容,从而减慢初始加载速度。
问题是,我们有样式和JavaScript是特定的,如果你是在浏览器或在应用程序中的一些小事情。我们已经看到一些事情打破了这些微妙的差异,我最好的理论是,localStorage是在浏览器和应用程序之间共享的。如果一个用户同时使用网站和应用程序,如果localStorage是由一个设置的,而另一个需要其他东西,则可能会出现问题。
我找不到任何证实这一理论的文档,并且没有创建一个应用程序来测试这一点,我想我会问是否有人有任何想法?
如果你信任苹果…
和cookie一样,存储对象也是web共享的资源从同一域提供的内容。来自同一域的所有页面共享同一个本地存储对象。的帧和内联帧来自相同来源的内容也共享相同的会话存储对象,因为它们来自同一个窗口。
由于存储资源是共享的,脚本在多个运行页上下文可能会修改存储在存储器中的数据被脚本积极地检查或修改的对象在不同的页面上运行。如果您的脚本没有注意到这些改变,你可能得不到你期望的结果。
如果你正在填充你的应用程序与web应用程序的数据来自相同的地方,我怀疑有一些键被修改的另一个。我知道使用sessionStorage.clear()将擦除键,如果web应用程序和脱机应用程序从同一域加载数据。
正如Chiguireitor所说,这取决于用户使用的是哪种手机操作系统,但就我的经验而言,iOS 4 & &;5 .共享相同的localStorage,无论你是通过Safari浏览器访问移动应用程序还是作为主屏幕web应用程序。当然,如果你将它与Phonegap之类的东西打包,它就会作为自己的应用程序,因此它的localStorage不会被共享。
- HTML5移动Web应用程序
- 移动Web中的IndexedDB查询
- 移动Web点击背景颜色
- 屏幕关闭时运行的移动Web应用程序
- 更改移动web应用程序的字体大小选项
- 移动 Web 服务不起作用
- 如何通过移动 Web 开发有效利用资源
- 构建大型jQuery移动Web应用程序:使用iFrames作为页面?骨干、骨干、下划线和其他框架
- Mopub移动web/javascript实现调整文本大小/覆盖CSS
- 用于删除移动web应用程序中的地址栏的跨平台方法
- 如何将图像从移动web应用程序(PhoneGap&JavaScript)上传到SOAP web服务
- 在移动web应用程序中初始化iScroll之后..文本框不可编辑
- Windows环境和移动Web应用程序
- 移动Web应用程序上的语音录制
- 在HTML5移动web应用程序中双击DFP动态刷新调整
- 在移动web浏览器中,通过点击页面链接发起呼叫
- 在开发移动web应用程序时测量内存使用情况
- 移动Web-添加到日历功能
- Jquery移动web应用程序开发(需要帮助)
- 使用JavaScript/HTML在移动web浏览器中防止手机睡眠的技巧