Fonctionnement du traitement de script ASP
Mise à jour : novembre 2007
Le fait de comprendre comment les scripts clients sont traités et comment les erreurs sont gérées peut vous aider à déboguer correctement des scripts clients.
Traitement du script client
Microsoft Internet Explorer traite le script client. Le navigateur appelle le module d'exécution approprié pour traiter les scripts VBScript ou JScript.
Les scripts clients sont initialement analysés lorsque le document Web est chargé dans le navigateur. Pendant cette phase d'analyse, le navigateur signale les erreurs de syntaxe détectées.
Après avoir analysé une section de script, le navigateur l'exécute. Les scripts globaux ou inline, qui sont des scripts qui ne font pas partie d'une sous-routine ou d'une fonction de gestion des événements, sont exécutés immédiatement. Les sous-routines ou fonctions de gestion des événements et les procédures qui sont appelées par d'autres procédures sont analysées immédiatement, mais ne sont pas exécutées jusqu'à ce qu'elles soient déclenchées par un événement ou appelées par une autre procédure.
Si une erreur d'exécution se produit lorsqu'un script client est exécuté, un message d'erreur s'affiche et le script contenant l'erreur s'arrête. Les autres scripts clients contenus dans le document peuvent toujours s'exécuter (sauf si vous démarrez le débogueur). Si le script contenant l'erreur est appelé à nouveau, le message d'erreur s'affiche à nouveau.
Selon le langage que vous utilisez, vous pouvez inclure des instructions dans vos scripts pour intercepter les erreurs d'exécution et exécuter vos propres procédures d'erreur. Par exemple, vous pouvez utiliser l'instruction ON ERROR dans VBScript pour procéder à l'interception des erreurs. Pour plus d'informations, consultez la documentation de votre langage de script.
Traitement du script serveur
La majeure partie du script serveur n'est pas pilotée par événements. Lorsqu'un fichier ASP est demandé, le serveur lit la page et traite l'ensemble du script serveur de haut en bas. Le script inline incorporé dans le texte HTML est passé au client à des fins de gestion.
La totalité du script serveur n'est pas exécutée immédiatement. Comme pour le script client, le script serveur peut contenir des fonctions et des sous-routines qui sont exécutées uniquement lorsqu'elles sont appelées à partir d'autres procédures.
Les fichiers Global.asa sont un cas particulier. Les procédures Application_OnStart et Session_OnStart contenues dans ces fichiers ne sont exécutées qu'une seule fois pour une application et pour une session. Par conséquent, vous devez incorporer des instructions de débogage dans le fichier pour déboguer facilement ces événements. Pour plus d'informations, consultez Debugging d'un fichier Global.asa.