首先,我想提一下我是一名在技术领域几乎没有经验的实习生,所以如果我的问题的答案显而易见,我很抱歉。我已经试着找了几天的答案而且几乎没有表现出来。
我的项目是开发电话簿。我现在要做的是有一个经常搜索的框,显示自用户开始使用该应用程序以来的前十个搜索名称。我计划使用以下信息创建一个JSON对象,然后客户端缓存结果:
var myJSONObject = {"searched": [ {"firstname":firstName,"lastname":lastName,"PK":pk,"phone":phonenumber,"email":emailaddress,"bu":businessunit,"company":company,"building":building, "fax":fax, "timesvisited":"accumulator to keep track of visits to the name"}
] };
我的脑袋现在正在弄清楚如何缓存JSON对象。我创建了一个清单文件,我知道如何缓存某些文件,例如css文件,但是如何缓存某些内容,例如上面列出的代码,以便存储数据,并且可以在第二次访问页面之前调出?
答案 0 :(得分:10)
您可以使用Firefox 3.5,IE 8和Chrome 4及更高版本支持的本地存储。要将缓存保存到本地存储:
localStorage['jsoncache'] = JSON.stringify(myJSONObject);
要检索它:
myJSONObject = JSON.parse(localStorage['jsoncache']);
请注意,您只能在本地存储中存储字符串,而不能存储任何类型的对象。如果您愿意,可以将jsoncache
密钥更改为其他密钥。
答案 1 :(得分:4)
我不完全是如何创建,维护和检索对象的,但是如果通过Ajax加载它,则可以使用HTTP缓存。
如果您只想在本地存储它,那么您可以使用localStorage
(只有较新的浏览器支持):
// Serialize and store
localeStorage['topten'] = JSON.stringify(myJSONObject)
// Retrieve and deserialize
var myJSONObject = JSON.parse(localeStorage['topten'])