/ / Názov prehliadača získajte pomocou jquery - jquery, asp.net, jquery-migrate

Získajte meno prehliadača podľa jquery - jquery, asp.net, jquery-migrate

Používam jquery v1.9.1. Viem, že jquery.prehliadač je odstránený v 1.9, ale musím ho použiť. Na získanie typu prehliadača používam migračný doplnok. Jeho práca je v poriadku, ale pre IE (11) a firefox (25+) vykazuje jquery.browser rovnakú hodnotu („Mozilla“). Ako zistiť IE v $ .browser?

odpovede:

3 pre odpoveď č. 1

Pozrite si nižšie uvedený odkaz, môže vám to pomôcť.

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


2 pre odpoveď č. 2

Je to preto, že program IE11 používa rôzne reťazce User-Agent z predchádzajúcich verzií a starý jQuery.browser o tom nevie. V skutočnosti to leží viac ako predtým:

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

môžete použiť spoľahlivejší nástroj ako WhichBrowser.


0 pre odpoveď č. 3

Pozri Syntetická odpoveď z 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;