简体   繁体   中英

How to detect older version of browser and redirect to browser support page

If IE <9 then or mozilla < 35 or Chrome < 39 or safari < s7 then, it should redirect to browser support page.

Tried using below code but, it did not work.. it only work when, i have opend the object inspector window in IE.

 <!--[if lt IE 9 ]>
<script type='text/javascript'>
    console.log("its less than IE 9");        
window.location.href="BrowserSupport.html";
</script>

Please guide me how can i detect for these browsers version and redirect to browser support page ?

Have a look at these links. They provide the code that does exactly that.

https://browser-update.org/

 var nVer = navigator.appVersion; var nAgt = navigator.userAgent; var browserName = navigator.appName; var fullVersion = ''+parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion,10); var nameOffset,verOffset,ix; // In Opera 15+, the true version is after "OPR/" if ((verOffset=nAgt.indexOf("OPR/"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+4); } // In older Opera, the true version is after "Opera" or after "Version" else if ((verOffset=nAgt.indexOf("Opera"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+6); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In MSIE, the true version is after "MSIE" in userAgent else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset+5); } // In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { browserName = "Chrome"; fullVersion = nAgt.substring(verOffset+7); } // In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { browserName = "Safari"; 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) { browserName = "Firefox"; fullVersion = nAgt.substring(verOffset+8); } // In most other browsers, "name/version" is at the end of userAgent else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) { browserName = nAgt.substring(nameOffset,verOffset); fullVersion = nAgt.substring(verOffset+1); if (browserName.toLowerCase()==browserName.toUpperCase()) { browserName = navigator.appName; } } // 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); } alert("Name:"+browserName+" Version "+majorVersion) 

Update the code. Now it will work fine

 /* * Browser Detect script */ BrowserDetect = (function() { // script settings var options = { osVersion: true, minorBrowserVersion: true }; // browser data var browserData = { browsers: { chrome: uaMatch(/Chrome\\/([0-9\\.]*)/), firefox: uaMatch(/Firefox\\/([0-9\\.]*)/), safari: uaMatch(/Version\\/([0-9\\.]*).*Safari/), opera: uaMatch(/Opera\\/.*Version\\/([0-9\\.]*)/, /Opera\\/([0-9\\.]*)/), msie: uaMatch(/MSIE ([0-9\\.]*)/, /Trident.*rv:([0-9\\.]*)/) }, engines: { webkit: uaContains('AppleWebKit'), trident: uaMatch(/(MSIE|Trident)/), gecko: uaContains('Gecko'), presto: uaContains('Presto') }, platforms: { win: uaMatch(/Windows NT ([0-9\\.]*)/), mac: uaMatch(/Mac OS X ([0-9_\\.]*)/), linux: uaContains('X11', 'Linux') } }; // perform detection var ua = navigator.userAgent; var detectData = { platform: detectItem(browserData.platforms), browser: detectItem(browserData.browsers), engine: detectItem(browserData.engines) }; // private functions function uaMatch(regExp, altReg) { return function() { var result = regExp.exec(ua) || altReg && altReg.exec(ua); return result && result[1]; }; } function uaContains(word) { var args = Array.prototype.slice.apply(arguments); return function() { for(var i = 0; i < args.length; i++) { if(ua.indexOf(args[i]) < 0) { return; } } return true; }; } function detectItem(items) { var detectedItem = null, itemName, detectValue; for(itemName in items) { if(items.hasOwnProperty(itemName)) { detectValue = items[itemName](); if(detectValue) { return { name: itemName, value: detectValue }; } } } } // add classes to root element (function() { // helper functions var addClass = function(cls) { var html = document.documentElement; html.className += (html.className ? ' ' : '') + cls; }; var getVersion = function(ver) { return typeof ver === 'string' ? ver.replace(/\\./g, '_') : 'unknown'; }; // add classes if(detectData.platform) { addClass(detectData.platform.name); if(options.osVersion) { addClass(detectData.platform.name + '-' + getVersion(detectData.platform.value)); } } if(detectData.engine) { addClass(detectData.engine.name); } if(detectData.browser) { addClass(detectData.browser.name); addClass(detectData.browser.name + '-' + parseInt(detectData.browser.value, 10)); if(options.minorBrowserVersion) { addClass(detectData.browser.name + '-' + getVersion(detectData.browser.value)); } } }()); // export detection information return detectData; }()); 

You could simply use something already made like which browser . Just download it from github. It's often easier and better as writing your own version of the wheel.

Edit: since you provide more info in the comment and "which broser" uses some php, whicle you use asp, here is a pure javascript solution using jquery: Jquery Browser .

if ( $.browser.msie ) {
    alert( $.browser.version );
}

and the you can redirect with jquery as well:

$(location).attr('href','http://examplesite.com/whatever.html');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM