IE 7 and IE 8 Mess with Websites

I do not have words to describe the pain we went through with handling IE7 and IE8 on a recent release of a new website for one of our very important clients.

As always, we followed a very rigorous QA testing process and our QA team had signed off on the cross browser testing of the application, The QA team had tested the website on PC, MAC and mobile browsers. They had tested on Firefox (versions 2, 3 and 3.6), Internet Explorer (7 and 8), Opera, Safari and Chrome. This testing was done on different resolutions.

After taking care of all these variations, we confirmed to the clients that the website was fully ready to go live. The client also tested from a machine at home and said that everything was fine.

Then started the nightmare.

The client went to the office and tested again to realize that their entire left menu did not work. The best part is, it worked right on a few machines and did not work on a few. I tested on a IE7 machine and it was messed up, It worked fine on another IE8 machine.

As we continued our investigation, we found out that with IE7 and IE8, Microsoft has introduced a new feature called ‘Compabitibility View’. As per Microsoft’s explanations on Compatibility view, Compatibility view exists to accomodate those features that were used in older sites.

In addition, we noticed that Javascript was disabled by default in IE7 and IE8. It is very difficult to believe that Microsoft just decided to strengthen the security and make such huge change on Javascript related features. Many of the online users would not even know where to go to enable it.

This problem was solved by enabling compatibility view or by enabling javascript. We are still trying to find out the exact set of steps that happen when we enable compatibility view, so that we can try and see if we can programmatically enable it if required.

The best case scenario will be where we develop the sites, test it across standard browsers and it works without any exceptions. We do remember the nightmare we went through with IE6 testing and we felt better after taking the decision to discontinue support for IE6 and provide only on demand support for IE6 for the websites we develop.

Will provide an update after we investigate this further.