Skip to content

Instantly share code, notes, and snippets.

@Braunson
Created February 8, 2015 21:03
Show Gist options
  • Save Braunson/8aa2e0084098c84f0d8f to your computer and use it in GitHub Desktop.
Save Braunson/8aa2e0084098c84f0d8f to your computer and use it in GitHub Desktop.
jQuery $.browser is deprecated, here's a drop in working fix to resolve $.browser errors so you can continue using $.browser.
(function( $ ){
jQuery.uaMatch = function( ua ) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
/(msie) ([\w.]+)/.exec( ua ) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || [];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
if ( !jQuery.browser ) {
var
matched = jQuery.uaMatch( navigator.userAgent ),
browser = {};
if ( matched.browser ) {
browser[ matched.browser ] = true;
browser.version = matched.version;
}
// Chrome is Webkit, but Webkit is also Safari.
if ( browser.chrome ) {
browser.webkit = true;
} else if ( browser.webkit ) {
browser.safari = true;
}
jQuery.browser = browser;
}
});
@le717
Copy link

le717 commented Feb 8, 2015

If I may, I'd like to point you to jquery-browser-plugin, which will more accurately detect new browsers including IE 11 and 12. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment