IF IE conditionals not working

CSS Solution:

If you want to apply only CSS base on browser then you can try:

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
   /* Put your IE-only styles here. Works for IS 10 & IE 11*/
}

JavaScript Solution:

IE 10 does not support conditional statements.

Conditional statements in Internet Explorer 10.. It will treat conditional comments as regular HTML comments, and ignored entirely.

Use a feature detection library such as Modernizr instead of browser detection.

found a solution on impressivewebs in this comment:

Here is Demo to test

The solution is:

if (Function('/*@cc_on return document.documentMode===10@*/')()) {
    alert('IE 10');
} else {
    alert('Not IE 10');
}

It

  • doesn’t need conditional comments;
  • works even if comment stripping compression/processing;
  • no ie10 class added in Internet Explorer 11;
  • more likely to work as intended with Internet Explorer 11 running in Internet Explorer 10 compatibility mode;
  • doesn’t need standalone script tag (can just be added to other JavaScript code in the head).
  • doesn’t need jQuery to test

Leave a Comment