【问题标题】:Detecting browser cache by jQuery通过jQuery检测浏览器缓存
【发布时间】:2012-04-09 20:25:01
【问题描述】:

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

【问题讨论】:

标签: javascript jquery html http http-headers


【解决方案1】:

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

Detecting when a page is loaded from the browser cache.

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

希望对您有所帮助。

【讨论】:

    【解决方案2】:

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

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

    如果fetchStartresponseStart 之间的时间差非常小,例如页面是从缓存加载的。

    【讨论】:

      【解决方案3】:

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

      注意:客户端时间戳和服务器时间戳可能不同,因为客户端系统时间有可能是错误的,而且服务器和客户端系统可能不在同一个时区。这必须小心。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-29
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        • 2011-03-08
        • 2011-08-07
        相关资源
        最近更新 更多