我有一个动态HTML 文档,它不包含任何外部资源(没有图像,css和脚本在文档中编码)。使用 PhoneGap 我已将此文档转换为独立的 Android 应用程序。由于这个HTML文档是没有互联网连接的本地应用程序,遗憾的是使用cookie不是一种选择。我需要保存/加载应用程序状态以允许用户以后继续使用/运行应用程序。使用 cookies 是Windows环境中使用IE浏览器的有效解决方案,但由于大多数浏览器不允许使用Cookie 用于本地文件,我的Android设备上的浏览器不支持该解决方案(Samsung Galaxy Tab2 7.0的默认浏览器)。什么是替代解决方案以允许保存/加载一些JavaScript / jQuery变量以供以后使用?
答案 0 :(得分:4)
查看localStorage。
这允许您在浏览器中存储(字符串)数据,而无需提交任何内容(例如使用cookie)。
要对此字符串进行数据编码,请使用JSON.parse()
和JSON.stringify()
。
简单示例:
// save to localStorage
localStorage.yourData = JSON.stringify( settings );
// load from localStorage
var settings = JSON.parse( localStorage.yourData );
答案 1 :(得分:2)
看看HTML5的localStorage。它为您提供了cookie的所有功能,以及更多,在一个简单的键值存储中。例如:
localStorage["myJQVar"] = JSON.stringify(someJQVar);
然后,下次启动您的应用时:
someJQVar = JSON.parse(localStorage["myJQVar"])
本地存储现在是进行本地数据存储的首选方式,有些人出于隐私原因也阻止了大多数cookie,因此这是可行的方法。