2012-03-26 215 views
9

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

+0

您的意思是检查当前页面是否从缓存中加载,或者您的意思是在Ajax请求期间? – 2012-03-26 10:19:47

+1

阅读本 [http://stackoverflow.com/questions/4433769/is-my-page-being-loaded-from-the-browser-cache][1] [1] :http://stackoverflow.com/questions/4433769/is-my-page-being-loaded-from-the-browser-cache – 2012-03-26 10:20:37

+0

@ChristoferEliasson我想知道,如果访问者正在访问更新页面或旧版本缓存在他的浏览器。 – Googlebot 2012-03-26 10:25:05

回答

4

下面的文章应该回答你的问题:

Detecting when a page is loaded from the browser cache.

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

希望有所帮助。

1

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

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