-1

Do you know a script for notices or warnings only for internet explorer users?

I need to show a warning only for users in this specific browser.

Please, Can you help me?

1 Answers1

1

I had to do this problem a while back. I ended up using javascript since support for conditional comments was dropped: https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/hh801214(v=vs.85)

My solution ended up looking like this:

<style>
    #ie-banner {
        display: none;
        /* other styling */
    }
</style>

<div id="ie-banner">
  <div id="ie-message">
    <h5>INCOMPATIBLE BROWSER</h5>
  </div>
</div>

<script>
    function isOldIE(userAgent) {
      var msie = userAgent.indexOf('MSIE');
      if (msie > 0) {
        // IE 10 or older
        return true;
      }
      // other browser, IE 11, or Edge
      return false;
    }
    if (isOldIE(navigator.userAgent)) {
      var ieWarning = document.getElementById('ie-banner');
      ieWarning.setAttribute('style', 'display: block;');
      // drop off my react app below
      // var root = document.getElementById('root');
      // document.body.removeChild(root);
    }
</script>

Note that I remove the child like that and use older DOM apis because more standards methods simply don't work on IE... big surprise.

If you only care about IE9 and down, then I probably would just use conditional comments. Straight from the link above:

<html>
  <!--[if IE]>
    This content is ignored in IE10 and other browsers.
    In older versions of IE it renders as part of the page.
  <![endif]-->
</html>
Nick Brady
  • 6,084
  • 1
  • 46
  • 71