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ď č. 1Pozrite si nižšie uvedený odkaz, môže vám to pomôcť.
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;