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();

2 comments:
this not Java, this is JavaScript
That is why I called the post, "Browser Detection in Javascript". I didn't say anything in this post about it being Java. I post code in all different languages on my blog and I know the difference between Java and Javascript.
Post a Comment