Niveau Niveau confirmé

Comment bien coder en Javascript ?

Tutorieljavascript

Publié par le , mis à jour le (7119 lectures)

javascript

Testez vos méthodes

Tous les navigateurs n'implémentent pas ECMAScript, DOM ou BOM de la même manière. Certains n'interprètent rien et la plupart ne le font que partiellement. Quelques-uns se servent même de méthodes propriétaires. Il convient donc de tester chaque méthode utilisée avant de vous en servir. Si le navigateur comprend la méthode, on le laisse continuer, sinon, on arrête le script ou on sort de la fonction. De la même manière, vous pouvez tester que les variables envoyées ont bien la valeur attendue.

Par exemple, supposez que vous souhaitiez être alerté des urls de chaque élément d'un conteneur lorsqu'ils en possèdent, vous pouvez placer dans votre code les tests suivants :

<script type="text/javascript"><!--

function fnTest(sId, sElem)
{
   // On arrête la fonction si ces méthodes ne sont pas reconnues
   if(!document.getElementById || !document.getElementsByTagName)
   {
      return;
   }

   var oCont = document.getElementById(sId);
   var aElem = oCont.getElementsByTagName(sElem);
   // ou si le tableau d'élément(s) n'existe pas
   if(!aElem) return;

   // Sinon, on lance la fonction fnRecapLinks
   return fnRecapLinks(aElem);
}

function fnRecapLinks(aElem)
{
   var iI = 0;
   var iTab = aElem.length;

   for(iI; iI < iTab; iI++)
   {
      // On passe cet élément si l'url n'existe pas
      if(!aElem[iI].href) continue;

      window.alert(aElem[iI].href);
   }
}

//--></script>

Vous pourriez bien sûr ajouter d'autres tests mais rien ne sert d'en faire trop; ce qui compte est d'éviter les cas risqués.