Créer un indicateur de chargement de page dans ServiceNow sur le portail de service
17 nov. 2025
Introduction
Les indicateurs de chargement améliorent l’expérience utilisateur en signalant visuellement qu’une action est en cours. Dans ServiceNow, il est possible d’ajouter un indicateur de chargement personnalisé pour les transitions entre les pages du portail de service, en exploitant les événements AngularJS $locationChangeStart et $locationChangeSuccess.
Principe de fonctionnement
ServiceNow utilise AngularJS pour gérer les changements de route dans le portail de service. Les événements $locationChangeStart et $locationChangeSuccess permettent de détecter respectivement le début et la fin d’un chargement de page.
$locationChangeStart: Déclenché quand l’utilisateur navigue vers une nouvelle page.$locationChangeSuccess: Déclenché quand la nouvelle page est complètement chargée.
Code de base pour détecter le chargement
Voici le code que vous pouvez utiliser pour détecter les changements de page :
Explications :
$scope.locationChanged: Variable booléenne qui indique si une page est en cours de chargement.updateActiveItem(): Fonction personnalisée pour mettre à jour l’interface (optionnel).$timeout: Permet de retarder légèrement la désactivation de l’indicateur pour éviter un clignotement visuel.
Ajouter un indicateur visuel
Pour rendre l’indicateur visible, ajoutez un élément HTML/CSS dans votre Client Script ou UI Page :
HTML (exemple)
CSS (exemple)
Intégration dans ServiceNow
Créer un Client Script :
Allez dans System Definition > Client Scripts.
Sélectionnez la table
sp_portalou la table cible.Collez le code JavaScript dans l’éditeur.
Ajouter le HTML/CSS :
Utilisez une UI Page ou un Widget pour intégrer le HTML/CSS.
Assurez-vous que le scope AngularJS est correctement défini.
Tester :
Naviguez entre les pages du portail pour vérifier que l’indicateur s’affiche et disparaît comme prévu.
Personnalisation avancée
Durée du délai : Ajustez le délai dans
$timeoutpour correspondre à la latence de votre instance.Style de l’indicateur : Utilisez des bibliothèques comme SpinKit pour des animations plus sophistiquées.
Gestion des erreurs : Ajoutez un événement
$locationChangeErrorpour gérer les erreurs de chargement.
Conclusion
Un indicateur de chargement personnalisé améliore la perception de la réactivité de votre portail ServiceNow. En combinant les événements AngularJS et un peu de CSS, vous pouvez créer une expérience utilisateur plus fluide et professionnelle.

