Edit in JSFiddle

var loginAllowed = true,
    browser = "unknown",
    version = "unknown";
var BrowserDetect = {
	init: function () {
        if (window.MSCompatibleInfo) {
            browser = "Internet Explorer";
        } else if (window.operamini) {
            browser = "Opera Mini";
        } else if (this.detectOldOpera()) {
            browser = "Opera";
        } else if (window.chrome) { //webkit but not Safari
            browser = "webkit-based";
        } else if (window.WebKitPoint) {
            browser = "Safari";
            version = "4+ or iOS Safari 2+";
        } else if (window.mozInnerScreenY) {
            browser = "mozilla-based";
        } else if (!this.detectFeature("opacity")) {
            browser = "Too old to detect"; //e.g. IE<5.5 (others already filtered out)
        } else if (this.detectFeature("flexDirection")) {
            browser = "unknown modern browser";
        }
        switch (browser) {
            case "Internet Explorer":
                if (!this.detectFeature("flexDirection")) {
                    version = "10";
                } else {
                    version = "11 or higher";
                }
                break;
            case "Opera Mini":
                //if (!this.detectFeature("outline")) {
                //    version = "7 or less";
                //}
                break;
            case "Opera":
                if (!this.detectFeature("textShadow")) {
                    version = "9.4 or less.";
                } else if (!this.detectFeature("boxShadow")) {
                    version = "9.5 - 10.4";
                } else if (!this.detectFeature("textOverflow")) {
                    version = "10.5 - 10.6";
                } else if (!this.detectFeature("flexDirection")) {
                    version = "11 - 12";
                } else {
                    version = "12 - 12.16";
                }
                break;
            case "webkit-based":
                if (this.detectFeature("flexDirection")) {
                    browser = "Modern Webkit browser";
                    version = "Chrome 29+, Opera 17+, Iron, etc.";
                } else {
                    version = "not up-to-date";
                }
                break;
            case "Safari":
                if (!this.detectFeature("textShadow")) {
                    version = "3 or less.";
                } else if (!this.detectFeature("borderRadius")) {
                    version = "3.1 - 4";
                } else if (!this.detectFeature("boxShadow")) {
                    version = "5";
                } else if (!this.detectFeature("borderImage")) {
                    version = "5.1";
                } else {
                    version = "6 or higher, or Maxthon";
                }
                break;
            case "mozilla-based":
                if (!this.detectFeature("textShadow")) {
                    version = "Firefox 3.5 or less, etc.";
                } else if (!this.detectFeature("boxShadow")) {
                    version = "Firefox 3.6, etc.";
                } else if (!this.detectFeature("textOverflow")) {
                    version = "Firefox 4 - 6, etc.";
                } else if (!this.detectFeature("borderImage")) {
                    version = "Firefox 7 - 14, etc.";
                } else if (!this.detectFeature("flexDirection")) {
                    version = "Firefox 15 - 22, etc.";
                } else {
                    version = "Firefox 23 or higher, SeaMonkey, etc.";
                }
                break;
            default:
                break;
        }
        if (loginAllowed === false) {
            document.getElementById('first').innerHTML = "<span>Login disallowed</span>";
        }
        document.getElementById('browser').innerHTML = "Detected browser: " + browser;
        document.getElementById('version').innerHTML = "Detected version: " + version;
	},
    detectFeature: function (property) {
        if (property in document.documentElement.style) {
            return true;
        } else {
            loginAllowed = false;
            return false;
        }
    },
    detectOldOpera: function () {
        if (window.opera && !this.detectFeature("objectFit")) { //trying to make this future-proof.{
            //What if Opera reintroduce window.opera in a future version?
            return true;
        } else {
            return false;
        }
    }
};
BrowserDetect.init();
<h4>This is a javascript browser-check that I'm updating because of IE11's user-agent string.  But this time based on feature rather than User-agent String.  Forked from http://jsfiddle.net/kaya_basharan/YNaVk/18/.</h4>
<!--[if lt IE 8]>
<p id="old_ie_warning">Detected browser: IE 7 or less.</p>
<![endif]-->
<!--[if IE 8]>
<p id="ie8_warning">Detected browser: IE 8.</p>
<![endif]-->
<!--[if IE 9]>
<p id="ie9_warning">Detected browser: IE 9.</p>
<![endif]-->
<!--[if !IE]> -->
<!-- Code for IE10+ and other browsers -->
<div>
<p id="first">Login allowed</p>
<p id="browser"></p>
<p id="version"></p>
</div>
<!--<![endif]-->
[id*=warning] {
    color: #f00;
}
span {
    font-weight: 700;
}