Showing posts with label JavaScript. Show all posts
Showing posts with label JavaScript. Show all posts

Tuesday, January 17, 2012

How to detect browser name and version in JavaScript?

In case that you wonder how to detect version of current browser in javascript you can use the next code. If you have any question please leave a comment.
var navigatorVersion = navigator.appVersion;
var navigatorAgent = navigator.userAgent;
var browserName = navigator.appName;
var fullVersionName = '' + parseFloat(navigator.appVersion);
var majorVersionName = parseInt(navigator.appVersion, 10);
var nameOffset, verOffset, ix;

// In Firefox, the true version is after "Firefox" 
if ((verOffset = navigatorAgent.indexOf("Firefox")) != -1) {
    browserName = "Firefox";
    fullVersionName = navigatorAgent.substring(verOffset + 8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset = navigatorAgent.indexOf("MSIE")) != -1) {
    browserName = "Microsoft Internet Explorer";
    fullVersionName = navigatorAgent.substring(verOffset + 5);
}

// In Chrome, the true version is after "Chrome" 
else if ((verOffset = navigatorAgent.indexOf("Chrome")) != -1) {
    browserName = "Chrome";
    fullVersionName = navigatorAgent.substring(verOffset + 7);
}

// In Opera, the true version is after "Opera" or after "Version"
else if ((verOffset = navigatorAgent.indexOf("Opera")) != -1) {
    browserName = "Opera";
    fullVersionName = navigatorAgent.substring(verOffset + 6);
    if ((verOffset = navigatorAgent.indexOf("Version")) != -1)
        fullVersionName = navigatorAgent.substring(verOffset + 8);
}

// In Safari, the true version is after "Safari" or after "Version" 
else if ((verOffset = navigatorAgent.indexOf("Safari")) != -1) {
    browserName = "Safari";
    fullVersionName = navigatorAgent.substring(verOffset + 7);
    if ((verOffset = navigatorAgent.indexOf("Version")) != -1)
        fullVersionName = navigatorAgent.substring(verOffset + 8);
}

// In most other browsers, "name/version" is at the end of userAgent 
else if ((nameOffset = navigatorAgent.lastIndexOf(' ') + 1) <
          (verOffset = navigatorAgent.lastIndexOf('/'))) {
    browserName = navigatorAgent.substring(nameOffset, verOffset);
    fullVersionName = navigatorAgent.substring(verOffset + 1);
    if (browserName.toLowerCase() == browserName.toUpperCase()) {
        browserName = navigator.appName;
    }
}
// trim the fullVersionName string at semicolon/space if present
if ((ix = fullVersionName.indexOf(";")) != -1)
    fullVersionName = fullVersionName.substring(0, ix);
if ((ix = fullVersionName.indexOf(" ")) != -1)
    fullVersionName = fullVersionName.substring(0, ix);

majorVersionName = parseInt('' + fullVersionName, 10);
if (isNaN(majorVersionName)) {
    fullVersionName = '' + parseFloat(navigator.appVersion);
    majorVersionName = parseInt(navigator.appVersion, 10);
}

//document.write(''
// + 'Browser name  = ' + browserName + '
'
// + 'Full version  = ' + fullVersionName + '
'
// + 'Major version = ' + majorVersionName + '
'
// + 'navigator.appName = ' + navigator.appName + '
'
// + 'navigator.userAgent = ' + navigator.userAgent + '
'
//)

My most popular images for sale at Shutterstock:

Find my story and how you can get into stock photography, too.