通过jQuery检测浏览器缓存

时间:2012-03-26 10:16:06

标签: javascript jquery html http http-headers

是否有jQuery方法来检测页面是从浏览器缓存加载还是通过HTTP请求从服务器收到?

3 个答案:

答案 0 :(得分:4)

以下文章应该回答您的问题:

Detecting when a page is loaded from the browser cache.

上述文章的概念是,在每次请求时,您都要从服务器端设置cookie并使用JavaScript(或jQuery)检查cookie。如果cookie与先前请求的页面的cookie匹配,那么它是一个缓存页面。如果没有,那就是一个新的页面。

希望有所帮助。

答案 1 :(得分:3)

您还可以使用Navigation Timing详细衡量网络延迟。

这是一篇好文章:http://www.html5rocks.com/en/tutorials/webperformance/basics/

如果fetchStartresponseStart之间的时差非常低,则会从缓存中加载页面。

答案 2 :(得分:1)

提供页面服务器编写的时间戳值var origin = <%=someTimeStamp %>;,读取它并与表示当前时间的JavaScript生成值进行比较。

注意:客户端时间戳和服务器时间戳会有所不同,因为客户端系统时间错误,服务器和客户端系统可能不是来自同一时区。这必须要小心。