/ / Obtenir le nom du navigateur par jquery - jquery, asp.net, jquery-migrate

Obtenir le nom du navigateur par jquery - jquery, asp.net, jquery-migrate

J'utilise jQuery v1.9.1. Je sais que jQuery.navigateur est supprimé en 1.9 mais je dois l'utiliser. J'utilise un plugin de migration pour obtenir le type de navigateur. Son travail fonctionne bien mais pour IE (11) et Firefox (25+), jquery.browser affiche la même valeur ("Mozilla"). Comment détecter IE dans $ .browser?

Réponses:

3 pour la réponse № 1

Veuillez vous référer au lien ci-dessous, cela pourrait vous aider.

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


2 pour la réponse № 2

C’est parce que IE11 utilise différentes chaînes User-Agent des versions précédentes et que l’ancien jQuery.browser n’en a pas conscience. En réalité, il est plus répandu qu’avant:

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

vous pouvez utiliser un outil plus fiable comme Quel navigateur.


0 pour la réponse № 3

Voir la réponse de Synthy de 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;