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