1

I use jquery v1.9.1 .I know that jquery.browser is removed in 1.9 but I have to use this. I using migration plugin for get type of browser. Its work fine but for IE(11) and firefox(25+) ,jquery.browser show same value("Mozilla").How to detect IE in $.browser?

ZSH
  • 631
  • 5
  • 16
  • 36

3 Answers3

3

Please refer below link, it might help you.

http://pupunzi.open-lab.com/2013/01/16/jquery-1-9-is-out-and-browser-has-been-removed-a-fast-workaround/

Manoj Mevada
  • 649
  • 4
  • 7
  • The link may theoretically answer the question, but [it would be preferable](http://meta.stackexchange.com/q/8259) to include the essential parts of the answer here, and provide the link for reference. – JJJ Dec 16 '13 at 11:08
  • @Manoj Mevada I using jQuery.browser.msie = /msie/.test(navigator.userAgent.toLowerCase()) and result show 'false'for IE. – ZSH Dec 16 '13 at 11:16
  • @ZSH Could you please check http://jsfiddle.net/pupunzi/dnJNS/ this example at your end. is it working or not. – Manoj Mevada Dec 16 '13 at 11:22
2

That's because IE11 uses different User-Agent strings from previous versions and the old jQuery.browser is not aware of it. Actually it lies more than before:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

you can use a more reliable tool like WhichBrowser.

Ram
  • 143,282
  • 16
  • 168
  • 197
0

See Synthy answer from Stackoverflow

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;
Community
  • 1
  • 1
Thomas BP
  • 1,187
  • 3
  • 26
  • 62
  • It's ok to copy-paste code from other answers/websites, but you need to credit the source. – JJJ Dec 16 '13 at 11:07
  • Yes it is if u credit the source, and i did but it was inside the CODE tags, if u looked at it ;-) – Thomas BP Dec 16 '13 at 11:12
  • [No it wasn't](http://stackoverflow.com/posts/20609361/revisions) but no matter, all's well. – JJJ Dec 16 '13 at 11:14