Voici un script qui renvoie automatiquement au dernier exercice fait (même partiellement) par l'apprenant. Il soutend que chaque exercice contient un autre script.
<script language="javascript">
<!-- begin script
// Following functions written by: Bill Dortch, hIdaho Design <bdortch@hidaho.com>
// The following functions are released to the public domain.
function FixCookieDate (date) {
var base = new Date(0);
var skew = base.getTime(); // dawn of (Unix) time - should be 0
if (skew > 0) // Except on the Mac - ahead of its time
date.setTime (date.getTime() - skew);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
//Following function written by Martin Beaudoin (mbeaudoi@gpu.srv.ualberta.ca)
//gets cookie: last file ("derniere")
//gets the location of last file
//visited in site, opens a window and loads that file
function GetCookieLastFileVisited (){
fenetre = (GetCookie("derniere"));
if (fenetre == null){
matin = "1";
}else{
location = fenetre;
}
}
// end script -->
</script>
Pour utiliser la fonction de renvoi automatique, il faut avoir créé le "cookie" avec la fonction suivante. Si vous faites appel à des fenêtres multiples (frames), vous le mettez dans le fichier qui crée les fenêtres.
<script language="javascript">
<!-- begin script
// Following functions written by: Bill Dortch, hIdaho Design <bdortch@hidaho.com>
// The following functions are released to the public domain.
function FixCookieDate (date) {
var base = new Date(0);
var skew = base.getTime(); // dawn of (Unix) time - should be 0
if (skew > 0) // Except on the Mac - ahead of its time
date.setTime (date.getTime() - skew);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
if (expires!=null) FixCookieDate(expires); //*** Uncomment this line for automatic date correction (see above)
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
// Following functions written by: Martin Beaudoin, University of Alberta <mbeaudoi@gpu.srv.ualberta.ca>
// The following functions are released to the public domain.
function MakeCookieLastFileVisited (){ //records the location of last file visited in site
var expdate = new Date ();
addr = document.location;
expdate.setTime (expdate.getTime() + (1000 * 24 * 60 * 60 * 1000)); // 1000 days from now (mod Mac bug)
SetCookie ("derniere", addr, expdate, "/");
}
// end script -->
</script>
Retour au menu principal des scripts
Script vérifiant le nom et l'adresse électronique de l'apprenant et les saisie s'il ne les trouve pas.
<script language="javascript">
<!-- begin script
// Following functions written by: Bill Dortch, hIdaho Design
Retour au menu principal des scripts
Script corrigeant automatiquement un texte à trous (test de clozure). Toutes les entrée à corriger constitue une seule variable appelée "mot" et la bonne réponse (qui suit immédiatement l'entrée) s'appelle "motb". Le programme distingue les différentes questions en utilisant la propriété "array" de la variable. Par exemple, le trou de la question 1 s'appelle "mot[0], celui de la question 2, "mot[1]", etc. Javascript, tout comme C, compte ses éléments matriciels à partir de 0.
<script language="javascript">
<!--hide this script from old browsers Script copyrights of Martin Beaudoin, Faculte St-Jean, Edmonton, Canada mbeaudoi@gpu.srv.ualberta.ca use and distribution allowed if the name of user included
//blanc
function compute(form) {
note = 0
count = 0
while (count != 10){
if (form.Mot[count].value == form.Motb[count].value){
note++;
}else{
form.Mot[count].value = (form.Motb[count].value + " *" + form.Mot[count].value + "*");
}
count++;
}
form.result.value = (note + " / " + count)
}
// done hiding from old browsers -->
</SCRIPT>
Retour au menu principal des scripts
Script corrigeant automatiquement les exercices où l'apprenant doit effectuer un choix. Chaque entrée à corriger constitue une variable appelée "mot" puis le numéro de l'entrée (par exemple, "mot13") et la bonne réponse s'appelle "mot" suivi du même numéro puis de la lettre "b" (ici, "mot13b"). Il peut y avoir plusieurs choix, mais plus de quatre choix n'est pas pédagogiquement souhaitable. Il peut aussi y avoir plusieurs réponses acceptables mais ça mélange l'apprenant. Par ailleurs, les numéros d'options ("if (form.Mot1.options[0].selected == true){" dans le programme) réfèrent aux choix disponibles: [0] représente le premier choix, [1] représente le deuxième choix. On modifie ce nombre pour qu'il corresponde à la bonne réponse.
Retour au menu principal des scripts