Force HTML page in IE10 to use IE Quirks mode - html

Indulge me, I'm fighting with IE.
We have a set of pages that work nicely in IE8 (intranet). The company decided upgrading directly to IE10.
What is the html code to force a page to use I5 Quirks Mode (this is the mode it works). I've tried with :
<meta http-equiv="X-UA-Compatible" content="IE=IE5" />
But IE10 put's the page in quirks mode (not IE5). You open the debugger (F12) and there you can change the document mode and the browser mode. The important is to set the document mode in IE5 quirks
Some help is welcomed

The problem seems to be solved somewhere else
Does the windows 8 internet explorer 10 still have quirksmode?
http://blogs.msdn.com/b/ie/archive/2011/12/14/interoperable-html5-quirks-mode-in-ie10.aspx
<meta http-equiv=X-UA-Compatible content="IE=5">
So, your value is false, it's IE=5 and not IE=IE5

IE10 does not have an IE5 mode. They updated Quirks Mode to be more like IE9 (I think, not sure on that) so it's more in line with Chrome/Firefox/etc.. The best it can do is IE7.

Related

IE issue with compatibility modes

I was wondering when I put my browser in compatibility mode, how does it know what setting to use from the header tags found in the document. If we have logic for all versions back to EI7, will it use the furthest back? So in this case, it chooses 7 in comp mode, but if we only offered back to IE8, then it would choose IE8 for that instance? So the question is, why does IE 11 compatibility mode set it to IE7 standards according to my debugger in IE? If I remove the [if IE7] code snippet, will it then set it to IE8 standards in the browser? We just quit supporting IE7 so am why I am asking this.
[if IE 7 ]> <html class="ie7"
[if IE 8 ]> <html class="ie8"
[if IE 9 ]> <html class="ie9"
In addition, the way you view your pages also affects the document mode.
If you view a page on the Internet (or through a local web browser), the page opens in the Internet zone. In this case, the x-ua-compatible directive takes precedence; depending on the setting, the <DOCTYPE> may also have an impact.
If you open the page using the File menu, from File Explorer, or from a network path, the page opens in the Intranet zone. By default, this means your page opens in IE7 compatibility mode, though that can be changed through settings.
Apps hosting the webBrowser control default to IE7 unless you override that using a registry change. (Note, it's currently unclear whether this is supported in Windows 10).
For best results:
Use the HTML5 <DOCTYPE> directive.
Use an x-ua-compatible meta with content set to IE=edge.
View local pages through a local webbrowser.
Code for HTML5, detect features, provide graceful fallback, and worry less about individual differences between individual browsers.
Hope this helps...
-- Lance
The code you've quoted in the question does NOT tell IE what mode to use. What this code does is look at the mode that IE is already in, and react accordingly.
Therefore, the answer to your question is: No: Removing the IE7-specific block from this code will not stop IE going into IE7 mode.
If you want to force IE to go into a specific mode, the code you need to use is the X-UA-Compatible meta tag.
You need a line near the top of you HTML that looks like this:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Putting edge in the content tells IE to use it's best available mode (so IE11 will be in IE11 mode). If you want a specific IE mode, then put IE8 or similar instead of edge.

Forcing compatibility mode IE not working

I need to display a webpage in compatibility mode. I've tried the following tag:
<meta http-equiv="X-UA-Compatible" content="IE=11">
But this only works if I have compatibility mode ON. With compatibility mode ON, the above tag allows me to change which version of IE the document should be displayed in. With compatibility mode OFF, the above tag has no affect.
Shouldn't this work with compatibility mode OFF?
My situation: Developing website that looks perfect when viewed in IE10/11 with compatibility mode ON. With it OFF it looks bad. Fixing it so that it runs without compatibility mode is not an option. What I need is to force compatibility mode ON for any user that views the site, so that they do not need to manually turn it on. Is this possible?
Thanks in advance
Use:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
You should use IE=edge to tell Internet Explorer to use the highest mode available.
The reason the X-UA-Compatible is not working is because I am using IE11. IE8 will turn compatibility mode on automatically, and then as a developer you can set the content mode. But IE 10/11 require compatibility mode to be set on manually before you can begin controlling emulation via meta tags.

IE7, Standards mode vs "IE7 Standards" mode

I have a fairly simple HTML5 website going with some jquery/javascript and CSS. It looks fine in Chrome, FF and IE8, 9 and 10. However, when I switch the browser mode to IE7 it doesn't look right. If I change the document mode to "standards" it looks correct again, still in IE7 mode. Please see the screenshot for clarification. Can someone explain the difference between "Standards" mode and "IE7 Standards" mode? And how can I change the "page default"?
You need to Add
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
in your <head> tag.
This will force IE to use latest rendering engine even in chrome frame .

Tell IE9 to use compatibility mode?

I have a project experience map that is generated by JetPhoto software... it's wonderful, and is exactly what I needed. Unfortunately, it seems to get stuck in IE9. If I tell IE9 to use "compatibility mode", all the pins load fine (like in every other browser). The portfolio is up here: http://www.aboutcis.com/experience/
Is there any way to tell IE9 to load the page in compatibility view for all users?
I'm not much for HTML (it's gotten so complicated compared to when I learned it), but I came across the following tag...
<meta http-equiv="X-UA-Compatible" content="IE=7">
Is this the intended use of this tag? Am I on the right track? Does anyone have a tip or idea that might help me understand how to overcome this? Is this a DOCTYPE issue maybe (which I understand nothing about)?
Thanks!
The syntax for compatibility mode is:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >
The content attribute specifies the mode for the page; to mimic the behavior of Internet Explorer 7, specify IE=EmulateIE7. Specify IE=5, IE=7, IE=8 or IE=9 to select one of those compatibility modes. You can also specify IE=edge to tell Internet Explorer to use the highest mode available.
Understanding Document Compatibility Modes
Internet Explorer supports a number of document compatibility modes that enable different features and can affect the way content is displayed:
IE9 mode provides the highest support available for established and
emerging industry standards, including the HTML5 (Working Draft), W3C
Cascading Style Sheets Level 3 Specification (Working Draft),
Scalable Vector Graphics (SVG) 1.0 Specification, and others.
IE8 mode supports many established standards, including the W3C
Cascading Style Sheets Level 2.1 Specification and the W3C Selectors
API; it also provides limited support for the W3C Cascading Style
Sheets Level 3 Specification (Working Draft) and other emerging
standards.
IE7 mode renders content as if it were displayed in standards mode by
Internet Explorer 7, whether or not the page contains a <!DOCTYPE>
directive.
Emulate IE9 mode tells Internet Explorer to use the <!DOCTYPE>
directive to determine how to render content. Standards mode
directives are displayed in IE9 mode and quirks mode directives are
displayed in IE5 mode. Unlike IE9 mode, Emulate IE9 mode respects the
<!DOCTYPE> directive.
Emulate IE8 mode tells Internet Explorer to use the <!DOCTYPE>
directive to determine how to render content. Standards mode
directives are displayed in IE8 mode and quirks mode directives are
displayed in IE5 mode. Unlike IE8 mode, Emulate IE8 mode respects the
<!DOCTYPE> directive.
Emulate IE7 mode tells Internet Explorer to use the <!DOCTYPE>
directive to determine how to render content. Standards mode
directives are displayed in Internet Explorer 7 standards mode and
quirks mode directives are displayed in IE5 mode. Unlike IE7 mode,
Emulate IE7 mode respects the <!DOCTYPE> directive. For many web
sites, this is the preferred compatibility mode.
IE5 mode renders content as if it were displayed in quirks mode by
Internet Explorer 7, which is very similar to the way content was
displayed in Microsoft Internet Explorer 5.
Edge mode tells Internet Explorer to display content in the highest
mode available. With Internet Explorer 9, this is equivalent to IE9
mode. If a (hypothetical) future release of Internet Explorer
supported a higher compatibility mode, pages set to edge mode would
appear in the highest mode supported by that version. Those same
pages would still appear in IE9 mode when viewed with Internet
Explorer 9.
Because edge mode documents display webpages using the highest mode available to the version of Internet Explorer used to view them, it is recommended that you should only use this document mode for testing purposes only. Do not use it for production uses.
For more information on IE compatibility mode, check this out.

Rendering issues with IE7 in quirks mode

I have developed a website which works fine in all browsers except IE7 as reported by some users. In IE7 it is completely broken up.
Unfortunately I do not have access to any machine with IE7. Hence I installed developer toolbar on my IE8 and tried to view the site with compatibility mode set to IE7| IE7 Standards.
The site was working fine. When I set it to IE7 | IE7 Quirks mode however I could see that the site was broken.
What is the simplest way to fix this issue? Is there any way I can force the browser to render my website in IE7 standards mode always ?
Quirks mode in IE is usually triggered by a lack of (or incorrect) doctype.
Check that your doctype is valid. This should prevent it from going into quirks mode.
If you're not sure what to do, add the following to the top of your html code:
<!DOCTYPE html>
Hope that helps.
I know of this meta tag:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
But I'm not sure if it helps in your case. Maybe it's best to see what's causing the problem and solve that in a browser-indepent way.