Browser Detection in Javascript
Here is some code that you might want to use to detect what browser your user is using. This can be necessary when you have to write code that acts differently with different browsers. This has always been the difficulty with building web applications.
You will first need to import the js file.
<script language=”JavaScript” src=”resources/js/browserdetection.js”></script>
You can then write a javascript function such as this:
function checkFileIE6Message()
{
if(BrowserDetect.browser==”Explorer”)
{
}
}
browserdetection.js
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) “An unknown browser”;
this.version = this.searchVersion(navigator.userAgent)
this.searchVersion(navigator.appVersion)
“an unknown version”;
this.OS = this.searchString(this.dataOS) “an unknown OS”;
},
searchString: function (data) {
for (var i=0;i<data.length;i++ ) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+ this.versionSearchString.length +1));
},
dataBrowser: [
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+ )
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]
};
BrowserDetect.init();
Tweet This Post
Plurk This Post
Buzz This Post
Delicious This Post
Digg This Post
Ping This Post
Reddit This Post
Stumble This Post
No Comments »
No comments yet.
RSS feed for comments on this post.