Javascript 用户访问时预缓存站点

Javascript 用户访问时预缓存站点,javascript,jquery,caching,Javascript,Jquery,Caching,我正在创建一个静态站点,它通过缓存控制等“强制”缓存 当用户访问我的站点时,我希望浏览器对我的站点进行爬网,缓存页面,因此当用户导航到页面时,加载几乎是即时的 (我不需要递归爬网,因为用户在页面之间导航时可能会发生这种情况。我只需要爬网当前页面上的链接,当然不需要重新缓存已缓存的页面。) (此外,我不会使用类似Ajax的技术来更改页面。这些基本上是带有普通链接的普通HTML平面文件。) 如何使用Javascript进行预缓存?(我正在使用jQuery。)不仅要缓存静态内容,还需要做很多事情来提高

我正在创建一个静态站点,它通过
缓存控制
等“强制”缓存

当用户访问我的站点时,我希望浏览器对我的站点进行爬网,缓存页面,因此当用户导航到页面时,加载几乎是即时的

(我不需要递归爬网,因为用户在页面之间导航时可能会发生这种情况。我只需要爬网当前页面上的链接,当然不需要重新缓存已缓存的页面。)

(此外,我不会使用类似Ajax的技术来更改页面。这些基本上是带有普通链接的普通HTML平面文件。)


如何使用Javascript进行预缓存?(我正在使用jQuery。)

不仅要缓存静态内容,还需要做很多事情来提高网站性能。看看HTML5的新功能,这是最新的


但我不确定您的浏览器是否会缓存页面,以便在不使用XmlHttpRequest的情况下进一步使用。

我应该提到,这需要与IE7/8、Safari和Firefox合理配合。这是不支持它的浏览器甚至不会注意到的事情之一,所以我还是建议你这样做。否则你可能会对此感兴趣:我理解。我想预先缓存页面,所以在用户访问之前就已经缓存了。这是我的方法。根据我的经验,除非另有说明,否则XmlHttpRequest对象会缓存页面请求,并且无论后续请求是“自然”浏览器请求还是进一步的AJAX调用,缓存都是有效的。如果您强制客户机使用缓存头,那么对页面上链接HREF的任何AJAX调用都应该实现您所要求的预缓存行为。当然,这只是我经历过的行为——我不能说这是否是一种值得信赖的行为。出于某种原因,Firefox并不总是尊重我在Ajax请求中设置的缓存。不过,它适用于大多数请求,并且始终保持缓存,因此页面导航速度很快。谢谢你的回答!
$.ajaxSetup({ cache : true, type : 'GET' });

$('a').each(
    function()
    {
        $.ajax({ url : $(this).attr('href') });
    }
);