是否有jQuery
方法来检测页面是从浏览器缓存加载还是通过HTTP请求从服务器收到?
答案 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/
如果fetchStart
和responseStart
之间的时差非常低,则会从缓存中加载页面。
答案 2 :(得分:1)
提供页面服务器编写的时间戳值var origin = <%=someTimeStamp %>;
,读取它并与表示当前时间的JavaScript生成值进行比较。
注意:客户端时间戳和服务器时间戳会有所不同,因为客户端系统时间错误,服务器和客户端系统可能不是来自同一时区。这必须要小心。