locked
Why does IE8 running on XP and Win7 Virtual Machine deletes the history while I'm still browsing the same site with client-side hashbang routing? RRS feed

  • Question

  • Hello, 

    I have a asp.net mvc 5 web application running on .net 4.5 hosted on my local windows 8 machine on macbook pro using parallels. I'm running Internet Explorer 8 Version: 8.0.6001.18702 running on XP and Version: 8.0.7601.17514 running on Windows 7 Enterprise.  I've got both of the virtual machine source from www.modern.ie 

    My web application is attempting to provide single page user experience by having some client-side routing by using '#!/xxx' hashbangs in the url so that I can get and post via ajax and change the hash in  the url without causing the page to reload. My code works fine in IE9+ and other modern browsers.

    However, I'm facing this strange issue in both of the IE8 versions. When running my demo app in IE8, I can login, view home page and can navigate from this home page to many details page. From the very first login page, all the pages are the result of form's post action via ajax which then expects html from server and loads in the DOM. The page structure of my app is like summary form => Details page (can also contain summary forms) => Details...so on.

    The above process works fine for few of the navigation steps. If I keep navigating from one page to another & go back, I have observed that the browser back button is removing the history items slowly. And a time comes when it totally forgets about all the history pages that I visited to reach this current page I'm viewing!! It treats like I have just started my browsing session and this current page is the first page I've landed on with no back option. Now if I again try to navigate, I have encountered problems like both the back and forward buttons gets disabled.

    Hope, my words above is clear enough to explain this problem. The same application works fine in IE9+ and other browsers. 

    Till now, I have tried following steps on both VMs: 

    • Resetting IE8.
    • Increasing disk space to 1024mb for temporary internet files storage.
    • Setting 'Never' for Check for newer versions of stored pages.
    • Disabling the automatic crash recovery feature didn't helped in this case. Found this on support website.
    • Deleted temporary files, history, cache, etc many a times.
    • Search many forums, posted question on StackOverflowASP.NET Forums - but didn't helped.
    • Tried 'beforeunload' event of browser to see if any of the page is reloading because of submit or any other reason. But the page doesn't reload at all.

    The issue is browser forgets about the browsing history while I'm still browsing the same site. 

    Is there any possible fix for the issue above? Does IE8 have any issues as many ajax form post is happening on every page? 



    Saturday, March 1, 2014 1:51 PM

Answers

  • I have really tried many things to identify any possible reason of the issue above. Even rewrote all my javascript navigation code and checked server-side code.

    But the only place where I got the solution is at site: http://www.enhanceie.com/ie/bugs.asp which states that there is a bug in IE8 which reads like:

     IE0012: IE Travellog broken when navigating back/away from a page with
     a large POST form If there is a form input field with a value longer
     than 523,659 characters, when you navigate away from the page, IE may
     clear the current session's travellog (similar to history), disabling
     the back and forward buttons. Repros in IE6 & IE7.

    There are following solutions that you can go for:

    - Check for the input field that has lots of characters as mentioned above and solve your problem.
    - If you have control over the system where IE8 will be used, you can add the following registry key on that machine. There is no existing key, so, you need to add a new one:

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TravelLog] "MaxSize"=dword:ffffffff

    I am really relaxed to find this information as I spent really long time to solve this issue. Hope this will help someone.

    Monday, March 3, 2014 10:53 AM

All replies

  • Hi, you could research !# support in different IE versions at http://caniuse.com or http://webplatform.org...

    Many of the high-volume publicly accessible websites support only the last three versions of a web browser.

    Post questions about html, css and scripting for website development to the MSDN IE Web Development forum... Include with your questions a link to your website or a mashup that shows the issue.


    Rob^_^

    Sunday, March 2, 2014 4:41 AM
  • I think,  this is a compatibility issue, IE8 vs IE9 , these two are entiely different.

    If you want to check the Cross platform check and IE version compatibility, there is lot of online tools there.

    Cross Platform Check: http://www.1stwebdesigner.com/design/tools-browser-compatibility-check/

    Where 3rd section is downloadable, it will check the IE version compatibility check.

    Also, the third party software has its own way to program codes and call corresponding system resources when installing and running. You should also try to fix the issue if it was caused by other factors, not all behave on IE.

    Monday, March 3, 2014 7:02 AM
  • I have really tried many things to identify any possible reason of the issue above. Even rewrote all my javascript navigation code and checked server-side code.

    But the only place where I got the solution is at site: http://www.enhanceie.com/ie/bugs.asp which states that there is a bug in IE8 which reads like:

     IE0012: IE Travellog broken when navigating back/away from a page with
     a large POST form If there is a form input field with a value longer
     than 523,659 characters, when you navigate away from the page, IE may
     clear the current session's travellog (similar to history), disabling
     the back and forward buttons. Repros in IE6 & IE7.

    There are following solutions that you can go for:

    - Check for the input field that has lots of characters as mentioned above and solve your problem.
    - If you have control over the system where IE8 will be used, you can add the following registry key on that machine. There is no existing key, so, you need to add a new one:

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TravelLog] "MaxSize"=dword:ffffffff

    I am really relaxed to find this information as I spent really long time to solve this issue. Hope this will help someone.

    Monday, March 3, 2014 10:53 AM