Tagversion

[jQuery] Utiliser jQuery Migrate pour rendre compatible du code écrit pour d’anciennes versions de jQuery avec une version plus récente

J’ai souhaité utiliser des fonctionnalités de jQuery Mobile, mais cette suite d’outils n’était pas compatible avec la version de jQuery en place dans mon projet (trop récente). La console me remontait une erreur de type:

Je me suis tourné vers le plug-in jQuery Migrate. jQuery Migrate est disponible en CDN ici. Via Bower, je n’ai pu télécharger que des sources non-exploitables. J’ai donc préféré récupérer le CDN.

Pour utiliser jQuery Migrate, il faut d’abord déclarer la version de jQuery qu’on utilise dans son projet, puis déclarer ensuite le plug-in jQuery Migrate. Exemple:

Ici, j’utilise jQuery-3.0.0, mais charger jquery-migrate-3.0.1 (3.0.1 est la version du plug-in, pas le numéro de version de jQuery qui est sensé être simulé) juste après me permettra de rendre compatible du code écrit pour jQuery 1.x ou 2.x.

ATTENTION: seule le version minifiée n’affiche pas de logs dans la console à chaque fois que le script détecte du code JS déprécié.

[jQuery] Détecter le navigateur et sa version avec le plug-in browser-detection et lancer une fonction avec les conditions if et else

Edit du 04/10/2017: le plug-in Bowser ayant montré ses limites également, j’ai créé un nouveau billet qui liste les plugins JS de détection de browser, version, OS et les pour et contres d’utilisation.


Edit du 31/08/2017: le plug-in Browser Detection fonctionne très bien mais ne détecte pas le navigateur Microsoft Edge. Se tourner vers Bowser – A Browser detector. Because sometimes, there is no other way, and not even good modern browsers always provide good feature detection mechanisms.

JS Fiddle de demo ici.


Plug-in jQuery browser-detection.js sur GitHub.

Dans l’exemple ci-dessous, on cherche à détecter l’utilisation de Safari et sa version. Pour les versions 8 et antérieures (signifiées par la valeur 600 ou moins en suffixe de la classe safari-* ajoutée à l’élément html par le plug-in browser-detection.js et pour les autres navigateurs, on ne lance pas la fonction maFonction.

© 2020 devfrontend.info

Theme by Anders NorénUp ↑