I am wondering how do you stop people who are using IE 8 from going to Compatibility mode?
<meta http-equiv="X-UA-Compatible" content="IE=8" />
I found this tag and I think this forces people to stay in IE-8 mode but I am not too sure and can't check as I have IE 9.
If people are in IE 9 mode I force them to not go into IE 8 or IE 7 Compatibility mode?
I tried to put the above line in my code and went to IE 9 -> Tools -> Compatibility View(Grayed Out)
but "Compatibility View Settings" was not grayed out and it seems you could add the site through there.
So should that not disable?
This should be enough to force an
IE
user to drop compatibility mode in anyIE
version:However, there are a couple of caveats one should be aware of:
<head>
. Only the<title>
tag may be placed above it.If you don't do that, you'll get an error on
IE9
Dev Tools:X-UA-Compatible META tag ignored because document mode is already finalized.
If you want this markup to validate, make sure you remember to close the
meta
tag with a/>
instead of just>
.Starting with
IE11
, edge mode is the preferred document mode. To support/enable that, use the HTML5 document type declaration<!doctype html>
.If you need to support webfonts on
IE7
, make sure you use<!DOCTYPE html>
. I've tested it and found that rendering webfonts onIE7
got pretty unreliable when using<!doctype html>
.The use of Google Chrome Frame is popular, but unfortunately it's going to be dropped sometime this month, Jan. 2014.
Extensive related info here. The tip on using it as the first meta tag is on a previously mentioned source here, which has been updated.
If you're using ASP.NET MVC, I found
Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
in a code block in _Layout to work quite well: