jQuery 4.0.0 bêta

Par:
fredericmazue

jeu, 08/02/2024 - 14:00

Une version 4 était attendue depuis longtemps par les inconditionnels de cette bibliothèque JavaScript, finalement la voilà : l'équipe de développement a annoncé la disponibilité de jQuery 4.0.0 bêta.

jQuery 4.0 abandonne la prise en charge d'IE 10 et versions antérieures. A ceux qui se demandent pourquoi la prise en charge d'IE 11 n'est pas abandonnée, l'équipe de développement répond que cette prise en charge sera supprimé avec jSquery 5.0.0.

La suppression d'API obsolètes est est encore à noter. Il s'agit de fonctions qui ont toujours été censées être internes ou ont désormais des équivalents natifs dans tous les navigateurs pris en charge. Les fonctions supprimées sont :

  • jQuery.cssNumber
  • jQuery.cssProps
  • jQuery.isArray
  • jQuery.parseJSON
  • jQuery.nodeName
  • jQuery.isFunction
  • jQuery.isWindow
  • jQuery.camelCase
  • jQuery.type
  • jQuery.now
  • jQuery.isNumeric
  • jQuery.trim
  • jQuery.fx.interval

Trusted Types and CSP

jQuery 4.0 ajoute la prise en charge des types de confiance, ou Trusted Types, garantissant que le HTML enveloppé dans TrustedHTML peut être utilisé comme entrée dans les méthodes de manipulation jQuery d'une manière qui ne viole pas la directive require-trusted-types-for de politique de sécurité du contenu. Les Trusted Types spnt spécifiés ici.

Pour mémoire,  l'interface TrustedHTML de l'API Trusted Types représente une chaîne qu'un développeur peut insérer dans un récepteur d'injection qui le restituera au format HTML. Ces objets sont créés via TrustedTypePolicy.createHTML() et n'ont donc pas de constructeur. La valeur d'un objet TrustedHTML est définie lors de la création de l'objet et ne peut pas être modifiée par JavaScript car aucun paramètre n'est exposé.

Parallèlement à cela, alors que certaines requêtes AJAX utilisaient déjà des balises <script> pour conserver des attributs tels que crossdomain, jQuery  a changé la plupart des requêtes de script asynchrones pour utiliser <script> afin d'éviter toute erreur CSP causée par l'utilisation de scripts en ligne. Il existe encore quelques cas où XHR est utilisé pour des requêtes de script asynchrones, comme lorsque l'option "headers" est passée, mais jQuery 4.0.0 utilise désormais une balise <script> chaque fois que cela est possible.