Skip to content

Instantly share code, notes, and snippets.

@culttm
Created June 8, 2015 18:35
Show Gist options
  • Select an option

  • Save culttm/9cb6a46131efb21e337e to your computer and use it in GitHub Desktop.

Select an option

Save culttm/9cb6a46131efb21e337e to your computer and use it in GitHub Desktop.
BrowserDetect = {
init:->
this.browser = this.searchString(this.dataBrowser) || "Other"
this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown"
searchString: (data) ->
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
this.versionSearchString = data[i].subString;
if (dataString.indexOf(data[i].subString) !== -1) {
return data[i].identity;
}
}
searchVersion: (dataString) ->
var index = dataString.indexOf(this.versionSearchString);
if (index === -1) {
return;
}
var rv = dataString.indexOf("rv:");
if (this.versionSearchString === "Trident" && rv !== -1) {
return parseFloat(dataString.substring(rv + 3));
} else {
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
}
dataBrowser: [
{string: navigator.userAgent, subString: "Chrome", identity: "Chrome"},
{string: navigator.userAgent, subString: "MSIE", identity: "Explorer"},
{string: navigator.userAgent, subString: "Trident", identity: "Explorer"},
{string: navigator.userAgent, subString: "Firefox", identity: "Firefox"},
{string: navigator.userAgent, subString: "Safari", identity: "Safari"},
{string: navigator.userAgent, subString: "Opera", identity: "Opera"}
]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment