Make a vote. Click on a link on the page. Hit the back button.

At least for me (FF 3.0 on Ubuntu), I see the orange vote marker, but the number has not been changed. Often, I voted up an answer that had 0 votes, making me believe that somebody down voted it.

Of course, refreshing the page fixes it, but this is sort of annoying.

EDIT: As I figured, this seems to be a browser cache issue. I still consider this a bug as the orange vote marker is there, but not the changed number. I don't know much about web development, but it seems to me like this should be possible to fix. Any ideas why this is happening?

  • Hmm, Safari 4 on a Mac works as it should... maybe it's a FF thing? – Kyle Cronin Jun 30 '09 at 1:12
  • @Jeff could you confirm if NathanTuggy's crystal ball read you correctly on the SE's position regarding the underlying technical reasons at meta.stackexchange.com/q/300148/174091 ? – ivan_pozdeev Aug 30 '17 at 19:19

I don't think many in the SO Community will be confused by that behavior. After all, you're navigating backwards into your cache :)

| improve this answer | |
  • 1
    Hmm, I figured it was a browser cache thing, but I'm not sure why the orange vote marker would be there but the number would remain the same. – Zifre Jun 30 '09 at 21:58
  • Caching is supposed to be completely transparent for the user. That includes the browser correctly deciding whether the cached page has expired or not. – ivan_pozdeev Sep 7 '17 at 21:13

This sounds like a browser cache issue.

| improve this answer | |
  • Since it's HTTP response headers that tell the browser how it should cache the page, it's also the site's issue. Current Cache: private tells them to cache and use the cached info unconditionally. – ivan_pozdeev Aug 30 '17 at 13:20

This is an issue with the site caused by the way it updates its pages, and there are time-proven solutions for it out there.

Navigating back after doing AJAX changes produces a stale cached version of the page confirms that the issue is reproduced consistently and is not caused by any glitches of specific network setups or browsers.

According to You Do Not Understand Browser History :: madhatted.com, upon navigating back, the browser unconditionally presents a cache entry because, as per RFC 2616 sec. 13.13:

...a history mechanism is meant to show exactly what the user saw at the time when the resource was retrieved.

Which, even in the most modern browsers, does not, apparently, include JS-induced changes to the page, contrary to the spirit of the provision. Naturally, SO is full of questions how to overcome this - and a multitude of solutions which include:

  • the crudest: an onUnload event invalidates browser cache entirely
  • the values of form fields - including hidden ones - are preserved on back-forward and can be used as hints
  • onLoad is called again on navigating back and is the way to do the actual work
| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .