11
votes

I'm building a news website with dynamic content that updates frequently (many times per day). Number of users have reported this bug in Windows Phone 7.5 IE 9.0 Mobile:

  1. User navigates to the news site frontpage and sees a fresh and up-to-date version of the page
  2. User clicks a link to an article and navigates to the article page
  3. User clicks the browser's back button

Expected result:

After clicking the back button, user sees the frontpage, exactly the content what she saw before navigating to the article page.

Actual result:

User sees a very old (a week or so) version of the frontpage.

Has anyone else seen this bug bug in Mobile Internet Explorer 9? How could I prevent this from happening?

More details:

  • The server response contains header Cache-Control:max-age=60. I'd like to keep it that way. Disabling browser caching is not an option.
  • There are no other cache related directives in response headers or in HTML meta tags.
  • Some users have said that this issue happens on other sites as well
  • According to this blog post from MS (http://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx) pressing the back button should not retrieve the page from server, even if the cached page is not fresh. That's totally ok for me, but NOT ok if the cached page is a week old.
  • When the user first navigates to our site, they see the fresh version of the page. Seems that something prevents IE from caching that page and thus back button returns some very old cached version.
3
I edited your tag; took out the older Window Mobile (which does not have Mobile IE9) and added the newer Windows Phone 7.jp2code
I had hoped there was an answer for the windows phone itself already, but no luck. I have exactly this problem with StackOverflow :( Did you solve this problem yet? Or is it not phone- but page-related?Silvermind

3 Answers

0
votes

This is most likely a caching issue with the browser. I have seen this occur with several sites as well as seeing older versions of the page pop up before the page loads when first going to the same sites.

0
votes

Can't help with the cause of the problem. But I would use JQuery Address plugin to get outta this situation by programatically making use of the Back button.

0
votes

This is a known issue, until MS comes up with IE 10 with some enhanced features this will be there. If you have found your solution then good, but if not I can give you just an idea.

Lets think about the solution part. When the user navigating through out the pages you can create a dynamic list like List<String> UrlVisitpages = new List<String>(); Now at run time you will initialize this list and fill with the uri user is navigating. Then when user navigating back

OnBackKeyPress() you handle the event. say handle = true; and load the last uri of the UrlVisitPages in teh browser as WebBrowser.Show("YourLastUriIndex");method. and remove the last index from the List other wise it will be a duplicate entry.

If again he navigates back follow the same procedure, otherwise make an entry in the List. When user closes the application Dispose the List entry. Hope you got some idea.