javascript-Phonegap应用程序-iOS上的localStorage(需要澄清)

我正在使用PhoneGap构建混合应用程序.它需要在iOS上运行.我有些困惑,希望有人能帮上忙.

我在导航中使用localStorage.
我的应用程序有不同的章节,我正在重用UI.

<a href="chapter.html" data-ajax="false" onClick="localStorage.setItem('chapter', '1')" class="ui-btn">Chapter 1</a>

当您单击url时,它将从localStorage获取该章节并知道要获取的内容.

var chapter = localStorage.getItem('chapter');

我的要求
只要用户正在使用该应用程序,localStorage仅需要保持不变.
没关系,如果在用户关闭应用程序时localStorage丢失了.

但是,当他使用该应用程序时,他应该有权访问localStorage.为了获得正确的内容,您需要从localStorage中获得的nr章节.

我很困惑.
在cordava网站上说明了这一点.
iOS将localStorage数据存储在需要空间时可由OS清除的位置.

我的问题
当用户仍在使用该应用程序时,可能会发生这种情况吗?
我不希望他在导航到新页面以及由于localStorage丢失而获取错误数据的过程中.

改用sessionStorage会更好吗?

我真正想做的就是将第nr章发送到新页面,以便获取正确的内容. (将信息发送到新页面)

使用localStorage和sessionStorage是执行此操作的正确方法吗?

如果有更好的方法,请告诉我.

提前致谢.

解决方法:

您可以使用cordova-plugin-nativestorage.(npm link)

在您提到的storage page中,他们已指定使用其他插件,因为LocalStorage是非持久性的.此外,这里提到的其他方法(例如WebSQLIndexedDB)都不适合您的要求.

该插件使用Android中的SharedPreferences和iOS中的NSUserDefaults.因此,存储的变量值将保持不变,直到卸载该应用程序为止.

上一篇:如何在c#mvc.net应用程序控制器中处理使用PhoneGap上传的音频文件?


下一篇:为什么Chromebook“不支持” Android My App?