Skip to content

Instantly share code, notes, and snippets.

@rfletcher
Created February 12, 2013 22:24
Show Gist options
  • Save rfletcher/4774026 to your computer and use it in GitHub Desktop.
Save rfletcher/4774026 to your computer and use it in GitHub Desktop.
Include this jQuery plugin to restore the jQuery.browser API, removed in 1.9.0. Useful if you have dependencies that still require it, like the popular jQuery BBQ plugin.
// Restore the removed jQuery.browser API to satisfy dependencies.
//
// Copied and pasted from the jQuery 1.8.3 source:
// http://code.jquery.com/jquery-1.8.3.js
( function( jQuery ) {
var matched, browser;
// Use of jQuery.browser is frowned upon.
// More details: http://api.jquery.com/jQuery.browser
// jQuery.uaMatch maintained for back-compat
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"
};
};
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;
}( jQuery ) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment