Detecting browser cache by jQuery
Asked Answered
U

3

9

Is there a jQuery approach to detect whether a page is loaded from the browser cache OR it has been received from the server by HTTP request?

Unstained answered 26/3, 2012 at 10:16 Comment(3)
Do you mean to check whether the current page was loaded from cache, or do you mean during an Ajax-request?Carolann
Read this [#4434269 [1]: #4434269Rabble
@ChristoferEliasson I want to know if visitor is visiting the updated page or old version cached on his browser.Unstained
H
4

The following article should answer your question:

Detecting when a page is loaded from the browser cache.

The concept of the above article is that at every request you set the cookie from the server side and check the cookie using JavaScript (or jQuery). if the cookie matches that of the previously requested page, then it is a cached page. If it doesn't, it is a fresh page.

Hope that helps.

Hudgens answered 26/3, 2012 at 10:21 Comment(0)
I
3

You could also use Navigation Timing to measure the network latency in great detail.

Here is a good article: http://www.html5rocks.com/en/tutorials/webperformance/basics/

If the time difference between fetchStart and responseStart is very low, the page was loaded from cache, for example.

Inocenciainoculable answered 26/3, 2012 at 11:1 Comment(0)
F
1

Serve the page server-written timestamp value var origin = <%=someTimeStamp %>;, read it and compare against a JavaScript generated value representing the current time.

Note: The client timestamp and the server timestamp would be different because there are chances the client system time is wrong and also the server and the client systems may not be from the same time zone. This has to be taken care.

Fluxion answered 26/3, 2012 at 10:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.