var nAgt = navigator.userAgent; var fullVersion = ''+parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion,10); var IE, FireFox, Chrome, Safari = false; var validbrowser = false; var IEMin = 7; var FFMin = 5; var ChromeMin = 10; var SafariMin = 5; // In MSIE, the true version is after "MSIE" in userAgent if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { IE = true; fullVersion = nAgt.substring(verOffset+5); } // IE 11 has different User Agent string // e.g. Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko else if ((verOffset=nAgt.indexOf("rv:"))!=-1) { IE = true; fullVersion = nAgt.substring(verOffset+3); } // In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { Chrome = true; fullVersion = nAgt.substring(verOffset+7); } // In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { Safari = true; fullVersion = nAgt.substring(verOffset+7); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In Firefox, the true version is after "Firefox" else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { FireFox = true; fullVersion = nAgt.substring(verOffset+8); } // trim the fullVersion string at semicolon/space if present if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix); if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix); majorVersion = parseInt(''+fullVersion,10); if (isNaN(majorVersion)) { fullVersion = ''+parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion,10); } // make sure version is valid if (IE && majorVersion >= IEMin) validbrowser = true; else if (FireFox && majorVersion >= FFMin) validbrowser = true; else if (Chrome && majorVersion >= ChromeMin) validbrowser = true; else if (Safari && majorVersion >= SafariMin) validbrowser = true; if (!validbrowser) { document.location="invalidBrowser.jsp"; }