使用Javascript / JQuery的。在本地缓存xml文件

时间:2012-09-03 17:27:29

标签: javascript jquery

使用$.ajax({..})我从服务器接收XML文件的内容。因此,每次页面加载时我都不必请求此文件,如果可能,我希望在本地缓存此内容,将其保存在磁盘上的文件中。但是以这样的方式缓存它,即使在重新启动后第二天它也可用。 XML文件内容每天更新,因此无需经常重新发送文件。

有可能吗?如果是这样,我怎么能实现这一目标?你能提供一个链接或一些示例代码吗?我搜索了一些我能理解的好东西,但我没有成功。

2 个答案:

答案 0 :(得分:2)

你需要这个

http://brian.io/lawnchair/

答案 1 :(得分:1)

默认情况下,浏览器通常会根据服务器设置文件头的方式为您缓存响应。如果你需要坚持不止,你可以使用local storage和可能的cookie来获得遗留支持(尽管存储有非常实际的大小限制)。

使用本地存储非常简单。您还可以带一个到期时间戳,让客户知道什么时候更新缓存。

准系统示例:

var mydata = { foo: 'bar' };
var cache = {
    data: mydata,
    expires: new Date().getTime()
}

sessionStorage.setItem("cache", JSON.stringify(cache));

获取数据:

var cache = JSON.parse( sessionStorage.getItem("cache") );
if ( cache.expires + day < new Date().getTime() ) {
    // get a fresh copy
} else {
    var mydata = cache.data;
}

如果您对更高级别的API感到满意,可以使用许多本地缓存抽象。