【问题标题】:Get browser name by jquery通过 jquery 获取浏览器名称
【发布时间】:2014-01-03 17:54:14
【问题描述】:

我使用 jquery v1.9.1。我知道 jquery.browser 在 1.9 中已删除,但我必须使用它。我使用迁移插件来获取浏览器类型。它工作正常,但对于 IE(11) 和 firefox(25+) ,jquery.browser 显示相同的值(“Mozilla”)。如何在 $.browser 中检测 IE?

【问题讨论】:

    标签: jquery asp.net jquery-migrate


    【解决方案1】:

    请参阅Stackoverflow 的 Synthy 回答

    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;
    

    【讨论】:

    • 可以从其他答案/网站复制粘贴代码,但您需要注明出处。
    • 是的,如果你相信来源,我做到了,但它在代码标签内,如果你看过它;-)
    • No it wasn't 不过没关系,一切都很好。
    【解决方案2】:

    这是因为 IE11 使用了与以前版本不同的 User-Agent 字符串,而旧的 jQuery.browser 并没有意识到这一点。实际上它比以前更多:

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

    您可以使用更可靠的工具,例如WhichBrowser

    【讨论】:

      【解决方案3】:

      【讨论】:

      猜你喜欢
      • 2016-08-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 2011-09-04
      • 2012-09-11
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多