由PhoneGap转换的独立HTML应用程序的Cookie替代方案

时间:2012-10-21 13:37:07

标签: jquery session cordova mobile cookies

我有一个动态HTML 文档,它不包含任何外部资源(没有图像,css和脚本在文档中编码)。使用 PhoneGap 我已将此文档转换为独立的 Android 应用程序。由于这个HTML文档是没有互联网连接的本地应用程序,遗憾的是使用cookie不是一种选择。我需要保存/加载应用程序状态以允许用户以后继续使用/运行应用程序。使用 cookies 是Windows环境中使用IE浏览器的有效解决方案,但由于大多数浏览器不允许使用Cookie 用于本地文件,我的Android设备上的浏览器不支持该解决方案(Samsung Galaxy Tab2 7.0的默认浏览器)。什么是替代解决方案以允许保存/加载一些JavaScript / jQuery变量以供以后使用?

2 个答案:

答案 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,因此这是可行的方法。