Compatibilité du backoffice avec les dernières versions de Firefox

Écrit par Gaël Port - 22/03/2013 12:34

Comme annoncé récemment dans le billet Accès backoffice et Firefox le bug qui touchait le backoffice de RBS Change sera corrigé dans Firefox 20.

Cependant certaines évolutions de Firefox entre les versions 17 et 20, sur des technologies utilisées dans le backoffice, affectent également le fonctionnement de celui-ci. La version 3.6.5 de RBS Change a été revue pour corriger les problèmes qui se posent sur les modules standards mais les développements spécifiques peuvent également être impactés.

Ce billet s'adresse donc avant tout aux développeurs afin qu'ils puissent prendre les dispositions nécessaires pour rendre leur code spécifique compatible.

Suppression de E4X

L'API E4X était dépréciée dans Firefox depuis la version 10, mais depuis Firefox 17, son utilisation cause des erreurs de parsing.

Cette API était massivement utilisée dans le backoffice des versions de RBS Change antérieures à 3.0 et il n'en restait que quelques traces dans les versions actuelles. Dans la version 3.6.5 les utilisations de cette API seront purgées.

Changement de comportement sur la méthode setAttribute() de l'API DOM

Avant Firefox 20, en passant  la valeur null à setAttribue(), on obtenait une chaine vide. À partir de Firefox 20, on obtient la chaine "null". Firefox s'aligne donc sur le comportement des autres navigateurs dans leur version actuelle.

Ceci peut avoir un impact purement visuel (apparition de "null" dans l'interface) ou causer des erreurs si la valeur de l'attribut est réutilisée ailleurs sans que le cas d'une chaine "null" ne soit prévu.

Dépréciation de la syntaxe de boucle for each...in

Cette syntaxe fait partie de la spécification d'E4X évoquée plus haut et suit le même chemin que le reste de cette API. Elle est dépréciée dans Firefox 20 et désactivée par défaut hors contexte "chrome".

Comme le backoffice d'RBS Change tourne dans ce contexte (grâce à l'extension à travers laquelle il s'exécute), elle fonctionne toujours pour l'instant mais cela ne durera sans doute pas. Afin d'éviter des problèmes ultérieurs, la version RBS Change 3.6.5 en supprime tous les usages dans les modules standards. Il est vivement conseillé d'en faire de même pour vos développements spécifiques.

Attention, il ne faut pas confondre les boucles for each...in qui renvoient la valeur de l'élément et qui sont dépréciées avec les boucles for...in qui renvoient la clé ou l'index de l'élément (selon que l'on itère sur un tableau ou un objet) et qui elle est toujours utilisable. Il est d'ailleurs très simple de convertir les appels à for each...in en for...in.

  • 1. Écrit par Karine Mode - 26/03/2013 17:36

    Merci de prendre en compte ce petit bug !
    Vivement que cela devienne actif ;-)
    Bon courage

Laissez un commentaire

Saisie du commentaire

 
1471 membres
Aucun membre connecté