Skip to content

Instantly share code, notes, and snippets.

@Nikolasgrizli
Created March 20, 2018 00:36
Show Gist options
  • Save Nikolasgrizli/263b7fff5cb540ee59e68dd53f1404a2 to your computer and use it in GitHub Desktop.
Save Nikolasgrizli/263b7fff5cb540ee59e68dd53f1404a2 to your computer and use it in GitHub Desktop.
browsers support
browser = function ($) {
'use strict';
var data = [
{ str: navigator.userAgent, sub: 'Chrome', ver: 'Chrome', name: 'chrome' },
{ str: navigator.vendor, sub: 'Apple', ver: 'Version', name: 'safari' },
{ prop: window.opera, ver: 'Opera', name: 'opera' },
{ str: navigator.userAgent, sub: 'Firefox', ver: 'Firefox', name: 'firefox' },
{ str: navigator.userAgent, sub: 'MSIE', ver: 'MSIE', name: 'ie' },
{ str: navigator.userAgent, sub: 'Trident/7.0', ver: 'rv', name: 'ie' }
];
var v = function (s, n) {
var i = s.indexOf(data[n].ver);
return (i !== -1) ? parseFloat(s.substring(i + data[n].ver.length + 1)) : 0;
};
var result = { name: 'unknown', version: 0 };
var html = $('html');
for (var n = 0; n < data.length; n++) {
if (!result[data[n].name]) {
result[data[n].name] = false;
}
if ((data[n].str && (data[n].str.indexOf(data[n].sub) !== -1)) || data[n].prop) {
result.name = data[n].name;
result[result.name] = true;
result.version = v(navigator.userAgent, n) || v(navigator.appVersion, n);
html.addClass(result.name + ' ' + result.name + parseInt(result.version, 10));
}
}
return result;
} (jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment