Skip to content

Instantly share code, notes, and snippets.

@hoangthienan
Created December 8, 2012 12:12
Show Gist options
  • Save hoangthienan/4240061 to your computer and use it in GitHub Desktop.
Save hoangthienan/4240061 to your computer and use it in GitHub Desktop.
Browser Detect
var BrowserDetect = function(){
var e=this;
var c=function(f){
for(var j=0;j<f.length;j++){
var h=f[j].string;
var g=f[j].prop;
this.versionSearchString=f[j].versionSearch||f[j].identity;
if(h){
if(h.indexOf(f[j].subString)!=-1){
return f[j].identity
}
}
else{
if(g){
return f[j].identity
}
}
}
};
var d=function(f){
var g=f.indexOf(this.versionSearchString);
if(g==-1){
return
}
return parseFloat(f.substring(g+this.versionSearchString.length+1))
};
var a=[{
string:navigator.userAgent,
subString:"Chrome",
identity:"Chrome"
},{
string:navigator.userAgent,
subString:"OmniWeb",
versionSearch:"OmniWeb/",
identity:"OmniWeb"
},{
string:navigator.vendor,subString:"Apple",
identity:"Safari",
versionSearch:"Version"
},{
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"
},{
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"
},{
string:navigator.userAgent,
subString:"Mozilla",
identity:"Netscape",
versionSearch:"Mozilla"
}];
var b=[{
string:navigator.platform,
subString:"Win",
identity:"Windows"
},{
string:navigator.platform,
subString:"Mac",
identity:"Mac"
},{
string:navigator.userAgent,
subString:"iPhone",
identity:"iPhone/iPod"
},{
string:navigator.platform,
subString:"Linux",
identity:"Linux"
}];
(function(){
e.browser=c(a)||"An unknown browser";
e.version=d(navigator.userAgent)||d(navigator.appVersion)||"an unknown version";
e.OS=c(b)||"an unknown OS"
})()
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment