Browser Name
Question: How do I detect the browser name (vendor)?
Answer:
To eastablish the actual name of the user's Web browser, you can use the
navigator.appName and navigator.userAgent properties.
The userAgent property is more reliable than appName because, for example, Opera browsers (and others)
may return the string "Netscape" as the value of their appName
for compatibility with Netscape Navigator.
The code example below uses navigator.userAgent to implement browser detection.
It also uses navigator.appName and navigator.appVersion as a last resort only,
if the userAgent string has an "unexpected" format. In your browser, this code produces the following output:
And here is the source code that performed the browser detection in this example:
var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName = '';
var fullVersion = 0;
var majorVersion = 0;
// In Internet Explorer, the true version is after "MSIE" in userAgent
if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
browserName = "Microsoft Internet Explorer";
fullVersion = parseFloat(nAgt.substring(verOffset+5));
majorVersion = parseInt(''+fullVersion);
}
// In Opera, the true version is after "Opera"
else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
browserName = "Microsoft Internet Explorer";
fullVersion = parseFloat(nAgt.substring(verOffset+6));
majorVersion = parseInt(''+fullVersion);
}
// 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 = parseFloat(nAgt.substring(verOffset+1));
if (!isNaN(fullVersion)) majorVersion = parseInt(''+fullVersion);
else {fullVersion = 0; majorVersion = 0;}
}
// Finally, if no name and/or no version detected from userAgent...
if (browserName.toLowerCase() == browserName.toUpperCase()
|| fullVersion==0 || majorVersion == 0 )
{
browserName = navigator.appName;
fullVersion = parseFloat(nVer);
majorVersion = parseInt(nVer);
}
document.write('Browser name = '+browserName+'<br>');
document.write('Full version = '+fullVersion+'<br>');
document.write('Major version = '+majorVersion+'<br>');
document.write('navigator.appName = '+navigator.appName+'<br>');
document.write('navigator.userAgent = '+navigator.userAgent+'<br>');
JavaScripter.net.
Copyright
© 1999-2006, Alexei Kourbatov