-
Par Cold Sun le 27 Juillet 2009 à 22:43
Note : ce qui suit risque de changer dans la prochaine bêta de Zenith. La méthode sera toujours valable, mais l'insertion de plusieurs scripts sera simplifiée.
Pour intégrer un script ZeL sur votre site, vous devez en éditer le code HTML, et rajouter les éléments comme suit :
- rajouter un élément cliquable, en rajoutant l'attribut zel avec comme valeur "true". Exemple :
<button zel="true">Label de votre bouton</button> - rajouter un script renvoyant les instructions à l'extension via une fonction que vous appellerez getZelInstructions. Exemple :
<script type="text/javascript">
function getZelInstructions(){
return {
"do":[
{"goTo":"a:first"},
]
};
}
</script>
Attention : la méthode décrite ci-dessus n'est valable que si on propose un seul script ZeL pour chaque page. Si on veut proposer plusieurs script ZeL, on peut utiliser cette méthode :
<button zel="true" onclick="f1()">Script 1</button>
<button zel="true" onclick="f2()">Script 2</button>
<script type="text/javascript">
var getZelInstructions;
function f1(){
getZelInstructions = function(){
return {Instructions du premier bouton};
};
}
function f2(){
getZelInstructions = function(){
return {Instructions du second bouton};
};
}
</script>Ceci grâce au fait que l'évènement "click" est traité avant la récupération des instructions ;) .
votre commentaire - rajouter un élément cliquable, en rajoutant l'attribut zel avec comme valeur "true". Exemple :
-
Par Cold Sun le 27 Juillet 2009 à 22:16
Si vous voulez tester des scripts ZeL, vous pouvez utiliser l'éditeur mis à disposition ici :
http://coldsun.free.fr/zenith/zel.html
Vous pouvez soit utiliser l'éditeur directement, soit effectuer un copier-coller de votre script vers l'éditeur (si l'éditeur ne vous convient pas), et lancer l'exécution du script à l'aide du bouton en bas de l'éditeur.
Pour les tests, il est conseillé de mettre "debug" à true pour corriger les éventuelles incohérences.
votre commentaire -
Par Cold Sun le 16 Juillet 2009 à 17:29
Permet de jouer un son audio encodé au format ogg-vorbis et hébergé sur internet par vos soin. Vérifiez bien que le lien que vous donnez soit valide, et qu'il se termine par ".ogg".
Cette instruction ne fonctionnera que sous Firefox 3.5 et ultérieur. Sous Firefox 3.0, elle sera automatiquement ignorée.
Syntaxe :
{"audio":"adresse vers le fichier audio ogg",
"options":"les options ici",
"do":[Instructions],
},Liste des options facultatives
- synchronous : lecture en synchrone, c'est à dire que les instructions suivantes commenceront avant sans attendre la fin de la lecture
Les instructions "do" (facultatif)
Ces instructions s'exécutent pendant la lecture du fichier audio. Si l'option "synchronous" n'est pas spécifiée, seules les instructions de ce "do" seront exécutées simultanément avec la lecture de la musique.
Exemples
Exemple 1 : avec l'option synchrone :
{
"debug":true, // enables debug mode
"url":"kazeo.com/gestion/admin.php?page=forum", // replace SOMELINK or delete it
"do":[
{"ifnotexists":".tclcon",
"then":[
{"exit":"vous devez etre connecte"},]},
{"ifnotexists":"#btn_close_tabs_bar",
"then":[
{"exit":"Pour tester ce script, il faut se connecter avec la version stable de Kazeo"},
]},
{"function":"parcourir",
"do":[
{"for":"$topic",
"in":".tclcon h3 a[href*='sr=viewforum']",
"options":"reload",
"do":[
{"goTo":"$topic"},
{"click":"l"},
{"wait":"while loading"},
{"call":"parcourir"}, // fonction recursive
],
},
{"ifexists":".linkst a:last",
"then":[
{"goTo":".linkst a:last"},
{"click":"l"},
{"wait":"while loading"},
{"goTo":"#btn_close_tabs_bar"},
{"click":"l"},
]},
]},
{"audio":"http://www.votre_fabuleux.site.com/piste_demo.ogg",
"options":"synchronous"},
{"call":"parcourir"}
{"goTo":"a:first"},
],
}Exemple 2 : avec "do" :
{
"debug":true, // enables debug mode
"url":"kazeo.com/gestion/admin.php?page=forum", // replace SOMELINK or delete it
"do":[
{"ifnotexists":".tclcon",
"then":[
{"exit":"vous devez etre connecte"},]},
{"ifnotexists":"#btn_close_tabs_bar",
"then":[
{"exit":"Pour tester ce script, il faut se connecter avec la version stable de Kazeo"},
]},
{"function":"parcourir",
"do":[
{"for":"$topic",
"in":".tclcon h3 a[href*='sr=viewforum']",
"options":"reload",
"do":[
{"goTo":"$topic"},
{"click":"l"},
{"wait":"while loading"},
{"call":"parcourir"}, // fonction recursive
],
},
{"ifexists":".linkst a:last",
"then":[
{"goTo":".linkst a:last"},
{"click":"l"},
{"wait":"while loading"},
{"goTo":"#btn_close_tabs_bar"},
{"click":"l"},
]},
]},
{"audio":"http://www.votre_fabuleux.site.com/piste_demo.ogg",
"do":[{"call":"parcourir"}]
},
{"goTo":"a:first"}, // sera appelé après la lecture du fichier audio
],
}
votre commentaire -
Par Cold Sun le 16 Juillet 2009 à 12:01
Ce qu'on appellera fonction sont plutôt ce qu'on appellerait procédure : à l'heure actuelle, les fonctions ne renvoient rien en ZeL.
Pour déclarer une fonction, on procède de la manière suivante :
{"function": "Nom de la fonction",
"params":[Liste des paramètres]
"do":[Instructions]
},et pour appeler la fonction :
{"call":"parcourir",
"Parametres":"valeurs",
}
Notes :
- Les paramètres sont passés par valeur
- Les paramètres doivent obligatoirement débuter par un "$" (exemple : "$param")
- Le principe des paramètres est que toutes les occurrences des paramètres seront remplacées par ce qui est envoyé lors de l'appel. Exemple :
{"function":"exemple",
"params":["$param", "$inst2", "$val2"],
"do":[
{"goTo":"$param"},
{"$inst2":"$val2"},
],
},
{"call":"exemple",
"$param":"a:first",
"$inst2":"click",
"$val2":"l",
}
Équivaut à :
{"goTo":"a:first"},
{"click":"l"},
Exemples complets :
Exemple 1 :
{
"debug":true, // enables debug mode
"url":"kazeo.com/gestion/admin.php?page=forum", // replace SOMELINK or delete it
"do":[
{"function":"exemple",
"params":["$param", "$inst2", "$val2"],
"do":[
{"goTo":"$param"},
{"$inst2":"$val2"},
],
},
{"call":"exemple",
"$param":"a:first",
"$inst2":"click",
"$val2":"l",
}
],
}Exemple 2 :
Note : cet exemple montre une chose intéressante avec les fonctions : les fonctions récursives
Ici, on va parcourir toutes les catégories des forums grâce à la récursivité.{
"debug":true, // enables debug mode
"url":"kazeo.com/gestion/admin.php?page=forum",
"do":[
{"ifnotexists":".tclcon",
"then":[
{"exit":"vous devez etre connecte"},
]},
{"ifnotexists":"#btn_close_tabs_bar",
"then":[
{"exit":"Pour tester ce script, il faut se connecter avec la version stable de Kazeo"},
]},
{"function":"parcourir", // déclaration de la fonction "parcourir"
"do":[
{"for":"$topic",
"in":".tclcon h3 a[href*='sr=viewforum']", // tant qu'il y a un lien vers une catégorie/sous-catégorie
"options":"reload",
"do":[
{"goTo":"$topic"},
{"click":"l"},
{"wait":"while loading"},
{"call":"parcourir"}, // fonction recursive
],
},
{"ifexists":".linkst a:last",
"then":[
{"goTo":".linkst a:last"},
{"click":"l"},
{"wait":"while loading"},
{"goTo":"#btn_close_tabs_bar"},
{"click":"l"},
]},
]},
{"call":"parcourir"}, // appel de la fonction parcourir
],
}
votre commentaire -
Par Cold Sun le 16 Juillet 2009 à 12:00
L'instruction exit permet de mettre fin à toutes les séries d'instructions .
Syntaxes :
{"exit":false}
ou :
{"exit":"votre message"}
Dans le premier cas, on termine sans afficher de message.
Dans le deuxième cas, on termine en affichant "votre message".
votre commentaire
Suivre le flux RSS des articles de cette rubrique
Suivre le flux RSS des commentaires de cette rubrique