18 novembre 2014
publié par 
Il est possible dans un site WEBDEV d'inclure des javascript externes dans un projet et/ou des pages d'un projet. Cet aspect est détaillé dans les pages suivantes :

Avant la version 19 de WEBDEV, les javascript externes étaient chargés dès le début des pages générées. En version 19, le chargement des .JS a été déplacé en fin de page. Cela permet de ne pas bloquer le chargement et l'affichage de la page dans le navigateur, par l'exécution et l'inclusion de script JS : la page s'affiche plus vite !

Ce changement, bon pour la rapidité des sites, peut avoir un "effet de bord" dans le cas très particulier d'un site qui utiliserait un javascript externe à partir d'un code html ou javascript :
  • placé dans la description d'un champ, dans le HTML inséré avant ou le HTML inséré après,
  • affecté par programmation avec les propriétés ..HTMLAvant ou ..HTMLAprès.
En effet, dans ce cas, le javascript externe est bien accessible s'il est chargé en début de page, par contre avec un chargement en fin de page il sera manquant. Cela provoque une absence de résultat et une erreur de type "Uncaught ReferenceError : xxxx is not defined" visible dans la console du navigateur (F12 sous Chrome ou Internet Explorer).

La solution recommandée consiste donc à placer les traitements qui utilisent les javascript externes dans une fonction navigateur de la page. Cette fonction sera appelée dans le code navigateur "onload" de la page, permettant ainsi :
  • l'utilisation du .JS externe puisque la page et ses dépendances sera chargée lors de l'appel du code onload,
  • un affichage plus rapide de la page.

Astuce : si le javascript externe doit faire référence à des champs de la page, ils pourront être passés en paramètres (NomChamp..Alias) à la fonction navigateur appelée en "onload" de la page.

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée