Les balises de document jQuery $.browser
comme obsolète. Alors, quel est le remplacement?
Selon le docs , cette fonctionnalité a été déconseillée dans 1.3 , et totalement supprimée dans 1.9 , bien qu'il soit toujours disponible dans le plugin jQuery Migrate officiel .
En fonction de détection du navigateur est pas une bonne idée . La détection des fonctionnalités est la voie à suivre ( Modernizr est un excellent outil pour cela). jQuery avait une méthode $.support()
pour fournir une certaine détection des fonctionnalités, mais elle est désormais également obsolète. Ils suggèrent également d'utiliser Modernizer.
La correction des bizarreries du navigateur n'est pas un cas d'utilisation valide pour la détection du navigateur, mais il existe d'autres cas d'utilisation. Utilisez n'importe quel outil de détection de navigateur Javascript (comme bowser ), car cette fonctionnalité ne dépend pas du tout de jQuery.
Basé sur plugin de migration jQuery , j'ai trouvé cela.
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"
};
};
if ( !jQuery.browser ) {
var
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;
}
Il n'y a pas de remplacement direct. Vous devez utiliser la détection des fonctionnalités plutôt que la détection du navigateur (avez-vous une bonne raison de connaître le navigateur?), Vous pouvez donc utiliser le $.support
propriété . (Cela en dit autant dans le doco API pour $.browser
.)
vous pouvez utiliser la variable de navigateur à partir de javascript
console.log(navigator)
mais si vous voulez vérifier la compatibilité avec une fonction de jquery vous pouvez utiliser le support var comme
$.support.ajax
Le jquery-browser-plugin est une bonne goutte en remplacement