Question

I have a application built using GWT 2.4.0. Some time ago an issue has appeared, where for some users of Internet Explorer the application is not loading properly for the first time (only the static content is displayed). However, after using refresh (F5) the application reloads normally and works fine after that.

Some notes about the issue:

  • this issue is not present in Firefox;
  • this issue is present for specific users only and not everywhere. Even on the same desktop, if a different user logs in, the application works fine in IE. We also tried to log an user with this issue into another desktop - on another desktop there was no issue;
  • the issue has never been observed on the development machine - only by a few testers and some of the business users;
  • for those users who observe the issue, it happens 100% of the time (with no exceptions), since about 4 months ago;
  • when trying to capture network requests using IE's development tools, it shows that a certain *.cache.html file is always requested, but never gets found (HTTP 404). That file is not present in the compiled application, so it is unclear why it is requested at all. On refresh, this file is not requested, so the 404 error does not occur.;
  • IE9's development tools show Browser Mode: IE9 Compat View and Document Mode: IE7 standards.

What could be the problem? How could I precisely find out and fix the cause of the issue?

Was it helpful?

Solution 2

In the end, it appears to be some issue with Internet Explorer's caching. It seemed to retain some caches for the sites in Favorites. There were actually two solutions to this:

a) For the user, the fix was to delete the link from Favorites and then re-add the link.

b) In code, we added the following tag to our index.jsp to force IE9 into IE9 document mode, as per this question: <meta http-equiv="X-UA-Compatible" content="IE=9">

These solutions are independent and can be used one at a time, or both at once.

OTHER TIPS

Can you try to modify the History.gwt.xml, and remove the:

<!-- IE6 has a completely different history implementation. IE8 used the -->
<!-- standard implementation. -->
<replace-with class="com.google.gwt.user.client.impl.HistoryImplIE6">
  <when-type-is class="com.google.gwt.user.client.impl.HistoryImpl"/>
  <when-property-is name="user.agent" value="ie6"/>
</replace-with>

If you add this modified file with its namespace to your project, it should get the correct History implementation.

I do not understand why if you are in IE8 and IE9, your project pick HistoryImplIE6 up.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top