Détection des navigateurs non pris en charge par jQuery (2)

Pardonnez-moi, si il n'y est une réponse évidente à cette question, mais je n'ai pas été capable de le trouver. J'envisage de passer à jQuery 2 et, bien que je ne suis pas inquiète de soutenir les navigateurs plus anciens, je voudrais être en mesure d'indiquer aux utilisateurs non pris en charge les navigateurs qu'ils ne peuvent pas utiliser le site.

Je vois ici (http://blog.jquery.com/2013/03/01/jquery-2-0-beta-2-released/) que vous pouvez utiliser les commentaires conditionnels pour la branche .js fichiers sur les différentes versions de IE, mais je crois que jQuery 2.0 gouttes de soutien pour un certain nombre d'autres navigateurs, pas juste c'est à dire, donc je ne pense pas que serait-il le faire seul [edit: c'est faux, voir plus modifier ci-dessous].

Dans un monde idéal, j'aimerais passer à jQuery 2 et ensuite d'avoir une seule fonction javascript, qui est appelée lorsque jQuery me dit qu'il ne prend pas en charge le navigateur. Est-il un moyen simple de faire ce que je suis absent?

Grâce.

EDIT:

Je suis tombé sur ce post (http://bugs.jquery.com/ticket/13404) qui m'a dirigé ici: http://jquery.com/browser-support/. Il s'avère que, en termes de soutien, jQuery 2 ne diffère de jQuery 1.9 sur IE navigateurs. En conséquence, peut-être une meilleure question à se poser est de savoir comment détecter les navigateurs qui ne sont pas pris en charge par jQuery (en général, pas seulement la version 2) - j'ai mis à jour la question du titre.

EDIT2:

Comme fonction de détection est la plus recommandée approche de cette question, la prise en charge jQuery méthode semble pertinent ici (http://api.jquery.com/jQuery.support/). Cependant, il semble également tout à fait improbable de s'appuyer sur (car cela peut changer sans préavis).

Je suppose que cela crée de la question clé. Comment suis-je censé avoir une idée de ce que jQuery caractéristiques sont ou ne sont pas soumises à des cas potentiels de non-soutien de vieux navigateurs? Par exemple, si quelqu'un vient sur le site avec un 4-version-vieille copie de Firefox, je n'aurais pas tout idée de ce que propose ce que j'avais besoin de tester pour. Il serait ace si jQuery pourrait offrir une sorte de entièrement prise en charge de test de fonctionnalités, comme ça, pour HTML5: http://html5test.com/

EDIT3:

D'accord, donc, avec le conditionnel inclure des énoncés (mis en évidence dans les réponses ci-dessous, et sur jQuery site), vous pouvez traiter avec les anciennes versions d'IE. Cependant, pour les autres navigateurs, c'est un peu compliqué. Puisque vous ne pouvez pas compter sur jQuery pour tout vous dire, à propos du navigateur pour soutenir la fonction de x, y, ou z, mon approche est tout simplement d'interroger le javascript sous-jacentes. Si vous souhaitez interroger en fonction de CSS, vous pouvez utiliser modernizr. Pour javascript support, c'est la méthode que j'utilise pour détecter SUPER les anciennes versions des autres navigateurs:

function browser_ok() {
if  (
( !Array.prototype.indexOf ) ||
( !Array.prototype.forEach ) ||
( !String.prototype.indexOf ) ||
( !String.prototype.trim ) ||                
( !Function.prototype.bind ) ||
( !Object.keys ) ||
( !Object.create ) ||
( !JSON ) ||
( !JSON.stringify ) ||
( !JSON.stringify.length ) ||
( JSON.stringify.length < 3 )
)
{
return false;
}
//# local storage support
//source: http://diveintohtml5.info/storage.html
try {
var local_storage_support = ( 'localStorage' in window && window['localStorage'] !== null );
if ( !local_storage_support ) {
throw new Error("local_storage_support: failed");
}
}
catch ( e ) {
return false;
}
//# AJAX uploads
if ( !window.FormData || !window.FileReader ) {
return false;
}
//# HTML data elements
var body = $("body");
body.data("browser_support_test",42);
if ( body.data("browser_support_test") !== 42 ) {
return false;
}
else {
body.removeData("browser_support_test");
}
return true;
}

AFAICT, cette fonction doit éliminer tous les navigateurs qui pourrait donner de la difficulté à jQuery pour ses fonctionnalités de base. Si vous voulez faire quelque chose de compliqué, alors il y a probablement des fonctions bien spécifiques que vous savez que vous avez besoin, de sorte que vous pouvez vérifier en particulier.

source d'informationauteur EleventyOne