Les balises de document jQuery $.browser
sont déconseillées. Alors, quel est le remplacement pour cela?
Réponses
Trop de publicités?Basé sur le plugin de migration jQuery , j'ai trouvé ceci.
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;
}
Les docs de l'état à ceci:
L' $.navigateur propriété est supprimée de la version de jQuery 1.3, et son la fonctionnalité peut être déplacé à une équipe pris en charge plugin dans un avenir version de jQuery.
Semble comme il n'y a pas de remplacement (vous pouvez utiliser un plugin). Aussi, vous pouvez le trouver dans la doc:
Il est toujours préférable d'éviter spécifiques à un navigateur de code lorsque le possible. L' $.le soutien de la propriété est disponible pour la détection de soutien pour les fonctionnalités particulières, plutôt que de s'appuyer sur $.le navigateur.
En fonction de la détection du navigateur n'est pas une bonne idée. La détection de fonctionnalité est la voie à suivre (Modernizr est un outil idéal pour cela).
Il n'y a pas de remplacement direct. Vous devriez utiliser la détection de fonctionnalités plutôt que la détection de navigateur (avez-vous une bonne raison de connaître le navigateur?), Afin de pouvoir utiliser la propriété $.support
. (Il en est de même dans le doco de l'API pour $.browser
.)