Navigator in JavaScript, to identify the browser of the user
This is available on browsers since version 1.0 of JavaScript, but some properties and methods have been added later.
Properties and methods of navigator
Standard Properties are recognized by all browsers... Take care to the case sensibility.
- appName
- The generic name of the class of the browser. Netscape for Firefox.
- appCodeName
- Name of the browser.
- appVersion
- Platform (windows, etc..) and version of the browser.
- UserAgent
- String sent to the server on which the page is loaded.
- platform
- Code of the operating system, for example win32.
Other properties are recognized only by Internet Explorer or IE and Opera. Their interest is very minimal. They are:
- userLangage (IE and Opera). Language code of the operating system: en for example.
- appMinorVersion: Number of sub-version.
- browserLanguage: Code of the browser language: en, etc.
- systemLanguage: Code of the default language of the operating system: en.
- cpuClass: System Type, eg x86 for PCs and recent Mac.
- online: Navigator online or not (not the page).
The mimeTypes property is recognized by Mozilla only and returns an array of MIME types supported by the browser.
Methods of navigator:
- javaEnabled()
- Returns true if Java is enabled and applets can work, false otherwise.
taintEnabled() is not standard, returns true if the option is enabled in which case scripts can deliver information on the system with a security risk.
Getting the version number of the browser
The commercial version number is in appVersion on some browsers, but rather we do use userAgent that contains it on all of them.
It can be extracted from userAgent through the name of the browser with the indexOf method of the String object. These strings are used to identify the browser and retrieve this number.
Firefox/3.0.7
MSIE 7.0
Chrome/1.0.154.48
Opera/9.64
Version/4.0 Safari/528.16
The script:
var ua = navigator.userAgent;
var x = ua.indexOf("MSIE");
var y = 4;
if (x == -1)
{
x = ua.indexOf("Firefox");
y = 7;
if(x == -1)
{
if(x == -1)
{
x = ua.indexOf("Chrome");
y = 6;
if(x == -1)
{
x = ua.indexOf("Opera");
y = 5;
if(x == -1)
{
x = ua.indexOf("Safari");
if( x != -1)
{
x = ua.indexOf("Version");
y = 7;
}
}
}
}
}
}
if(x != -1)
{
y ++;
ua = ua.substring(x + y);
x = ua.indexOf(" ");
var x2 = ua.indexOf("(");
if(x2 > 0 && x2 < x) x = x2;
x2 = ua.indexOf(";");
if(x2 > 0 && x2 < x) x = x2;
if (x == -1) document.write("Error");
var v = ua.substring(0, x);
document.write("Version: " + v);
}
The script may be used on any web page.
Demonstrations
Getting the version from userAgent
Code above. See manual in link.
Checking the navigator object on any browser
Navigator properties and their values, whatever the source and version of your browser, shown below and used to verify the compatibility of the object.
Code for standard properties:
document.write("navigator.appName: " + navigator.appName);
document.write("navigator.appCodeName: " + navigator.appCodeName);
document.write("navigator.appVersion: " + navigator.appVersion);
document.write("navigator.platform: " + navigator.platform);
document.write("navigator.cookieEnabled: " + navigator.cookieEnabled);
document.write("navigator.userAgent: " + navigator.userAgent);
document.write("navigator.javaEnabled(): " + navigator.javaEnabled());
Reference
- The navigator object. By Microsoft.