Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cons of using Internet Explorer's Compatibility Mode

What are cons of force a web site viewed in IE to compatible mode? Say we force IE9 to IE8 compatiblity mode?

  • Performance drawbacks
  • Can't use any new IE9 specific features like HTML5/CSS3/SVG

Why?

We run legacy web app which is developed since 2000 so it's a mess ball fighting to be compatible with Chrome, Opera, Firefox, IE6/7/8 and now we decide to add IE9 to the list. But with IE9 we run in issues with printing, "Permission deniend" JavaScript errors (probably something about cross-frame JavaScript calls) and next issues - the easy workaround is to force IE9 to behave as a IE8 and then everything works fine. But I am still not sure if it's way to go...

like image 659
Michal Bernhard Avatar asked May 25 '11 13:05

Michal Bernhard


3 Answers

first our app is public site (for our clients)

You have a public website developed in 2000 and it doesn't work on modern browsers? Deprecate it or re-write it.

Don't hack your code to support modern browsers, the website is clearly poorly written and doesn't apply to standards. You can't get away with this.

The only place where you can get away with this level of incompatibility is intranet applications and even then you should simply state "it works on browser X, live with it"

You can't say that to public facing clients. I mean you can try, but have fun losing business to your competitors.

Re-develop your website to match the W3C HTML/CSS standards and the ES5 standards and it will be completely future facing (for some years).

Alas, the way the web works is that anything more then 5 years old is deprecated. So either re-write it every 5 years or get out of the web business.

In terms of actually using compatibility mode, don't. IE6-8 are horrible engines and should be avoided like the plague. If you use them then you can't write future facing standards compliant code.

Your code needs to match the standards and you should fix / shim / patch any browser specific bugs where those browsers don't implement the standards.

like image 162
Raynos Avatar answered Sep 30 '22 10:09

Raynos


You cannot say you have tested in IE6/7/8/9 until you have tested in those different versions. Emulating the test environment is not the same as using the test environment. To my knowledge IE7/8 compatibility modes are the older render engines, not the underlying browser as a whole, bugs and all. It is closed source so you will never know.

Convert Microsoft's free to download virtual disk images for cross-browser testing to Virtualbox images and put them on a machine that just runs Virtualbox. An old machine will do, run the VMs headless and access them with remote desktop. In that way you will be able to test in all browsers without burdening your machine with MS/Spyware.

like image 23
ʍǝɥʇɐɯ Avatar answered Sep 30 '22 09:09

ʍǝɥʇɐɯ


I believe your system admins can set IE to compatibility mode for all intranet traffic using the Group Policy Editor. Any site you create will from this point forward, you can add a meta tag to force IE9 to render natively and use all the newer features...

I'm having to do that on my current project using the following doctype and meta tag in my header:

<!DOCTYPE HTML >

<meta http-equiv="X-UA-Compatible" content="IE=100" />
like image 36
ShaneBlake Avatar answered Sep 30 '22 09:09

ShaneBlake