jquery – TypeError: $.browser is undefined

jquery – TypeError: $.browser is undefined

just put the $.browser code in your js

var matched, browser;

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;

$.browser has been removed from JQuery 1.9. You can to use Modernizr project instead

http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed

UPDATE TO SUPPORT IE 10 AND IE 11 (TRIDENT version)

To complete the @daniel.moura answer, here is a version which support IE 11 and +

var matched, browser;

jQuery.uaMatch = function( ua ) {
    ua = ua.toLowerCase();

    var match = /(chrome)[ /]([w.]+)/.exec( ua ) ||
        /(webkit)[ /]([w.]+)/.exec( ua ) ||
        /(opera)(?:.*version|)[ /]([w.]+)/.exec( ua ) ||
        /(msie)[s?]([w.]+)/.exec( ua ) ||       
        /(trident)(?:.*? rv:([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 );
//IE 11+ fix (Trident) 
matched.browser = matched.browser == trident ? msie : matched.browser;
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;
// log removed - adds an extra dependency
//log(jQuery.browser)

jquery – TypeError: $.browser is undefined

Just include this script

http://code.jquery.com/jquery-migrate-1.0.0.js

after you include your jquery javascript file.

Leave a Reply

Your email address will not be published.