Chapitre 8
Transcription
Chapitre 8
Débogage d’un gadget Chapitre 8 Débogage d’un gadget Comme vous l’avez appris précédemment, les gadgets utilisent plusieurs langages de programmation : • XML. Définit un manifeste contenant toutes les propriétés jugées utiles du gadget (nom, auteur, copyright, etc.). • HTML. Décrit l’interface du gadget. • Le Langage CSS. Définit les styles des marqueurs HTML. • Le Langage de script. Effectue des traitements complexes et/ou met en place l’interactivité dans le gadget. Le JavaScript est universellement utilisé, mais vous pouvez également faire appel au JScript ou au VBScript. Les codes XML, HTML et CSS ne demandent aucun débogage, tant ils sont simples à mettre en place et, si nécessaire, à corriger. Par contre, les codes JavaScript peuvent s’avérer difficiles à mettre au point et/ou provoquer des comportements inattendus. S’il est possible de les déboguer à la volée, en agissant au petit bonheur la chance sur le code, cette technique engendre souvent une perte de temps non négligeable. Un peu de rigueur s’impose ! Débogage popup Pour localiser rapidement l’instruction responsable d’un dysfonctionnement, le plus simple consiste à isoler le bloc de code qui a le plus de chances d’en être la cause. Vous afficherez alors la valeur des variables manipulées par le programme, de façon à contrôler que tout se passe comme vous le souhaitez. Pour faciliter les choses, nous allons raisonner sur le gadget "Lanceur HTML", décrit en détail dans le Chapitre 4 de cet ouvrage. Quatre lignes en gras ont été ajoutées au gadget afin de prévenir l’utilisateur qu’une URL doit être entrée avant de cliquer sur le bouton de commande : <html> <head> <style> body{ width:140; height:80; background: url(‘fond.jpg’); } </style> 103 08-GadgetVista.indd 103 10/10/07 13:18:53 Développez des gadgets pour Windows Vista et Windows Live <script> System.Gadget.settingsUI = “settings.htm”; System.Gadget.onSettingsClosed=SettingsClosed; function SettingsClosed() { var toto=System.Gadget.Settings.read(“sURL”); cible.value = toto ; if (!(cible.value)) { alert(“Veuillez entrer une URL”); } } </script> </head> <body> <span id=”gadgetContent” style=”font-family: Tahoma; font-size: ➥10pt;”><b>Ouvrir la page ...</b><p></span> <input type="button" name="cible" value = "www.google.fr" ➥OnClick="document.location.href=’http://’+cible.value"> </body> </html> Malheureusement, l’instruction alert() est purement et simplement ignorée par le gadget. Il en va de même de l’instruction confirm(), qui demande la confirmation d’une action par l’utilisateur. Il est cependant possible de contourner le problème en redéfinissant ces deux fonctions dans un programme VBScript, inclus dans le fichier HTML du gadget. Ouvrez le Bloc-Notes de Windows et définissez les deux fonctions VBScript suivantes : sub alert(prompt) MsgBox prompt, 48 , “Gadget du Volet Windows” end sub function confirm(prompt) dim res res = MsgBox (prompt, 33, “Gadget du Volet Windows”) if res=1 then confirm = true else confirm = false end if end function Sauvegardez ce fichier sous le nom bdd.vbs et placez-le dans le dossier du gadget. Pour simuler le fonctionnement des fonctions alert() et confirm() de JavaScript, il vous suffit maintenant d’insérer les deux marqueurs suivants juste avant le marqueur </head> : <script src="bdd.vbs" type="text/vbscript"> </script> 104 08-GadgetVista.indd 104 10/10/07 13:18:56 Débogage d’un gadget Installez le gadget. Vous constatez que la fonction alert est désormais prise en compte (voir Figure 8.1). Figure 8.1 Il est maintenant possible d’afficher des fenêtres popup à partir du gadget. Débogage Visual Studio Le débogage des instructions JavaScript contenues dans un gadget peut se faire dans Visual Studio 2005, ou dans Visual Web Developer 2005 Express Edition, librement téléchargeable sur www.microsoft.com/france/msdn/vstudio/express/vwd/ telechargez.mspx. Pour activer le débogage, lancez Internet Explorer, cliquez sur l’icône Outils et sélectionnez Options Internet dans le menu. Cette action déclenche l’affichage de la boîte de dialogue Options Internet. Sélectionnez l’onglet Avancés et assurez-vous que la case Désactiver le débogage des scripts (autres applications) est décochée (voir Figure 8.2). Figure 8.2 Le débogage des scripts est activé. 105 08-GadgetVista.indd 105 10/10/07 13:18:57 Développez des gadgets pour Windows Vista et Windows Live Insérez l’instruction "debogger;" dans le code JavaScript puis installez le gadget. Lorsque l’instruction debogger est rencontrée, la boîte de dialogue représentée Figure 8.3 est affichée. Figure 8.3 L’environnement de débogage est sur le point d’être ouvert.. Cliquez sur Oui et profitez des possibilités de votre environnement de développement. 106 08-GadgetVista.indd 106 10/10/07 13:18:58