Forum de discussion
Forum « Programmation Javascript » (archives)
Compteur de visite.
Envoyé: 15 février 2004, 16h38 par gotothemoon
j'ai fait un compteur, qui compte le temps resté sur une page Web, en Javascript. Ca marche mais comporte de erreurs.
Quelqu'un saurait-il me le corriger ou m'indiquer des pistes ?
Copier le script, testez le, puis faites avancer le schmilbilic,please.:)
Script:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Temps de visite.</title>
<script language="JavaScript" type="text/javascript">
var entree=new Date(); // entree page
entree=ini_variables();
function ini_variables(){
<!--déclaration des variables -->
var date=new Date(); // Constructeur Date
var heures=date.getHours(); // Récupération des heures sur la date Machine utilisateur
var minutes=date.getMinutes(); // Récupération des minutes sur la date Machine utilisateur
var secondes=date.getSeconds(); // Récupération des secondes sur la date Machine utilisateur
<!-- Si les varibales sont inférieures à 10 on place 0 en chiffre de dizaine -->
if (heures<10) heures='0'+ heures;
if (minutes<10) minutes='0'+ minutes;
if (secondes<10) secondes='0'+ secondes;
<!-- Base de comptabilisation unique: unité les secondes -->
// Conversion des heures et des minutes en secondes
// => fonction getHours, getMinutes renvoient des valeurs entre 0 et 59
// La fonction getSeconds renvoie des valeurs en secondes et non millisecondes
var heures_secondes=heures*60*60;
var minutes_secondes=minutes*60;
<!-- Variable compteur -->
compt=heures_secondes+minutes_secondes+secondes;
<!-- on renvoie cette variable dès que la fonction ini_variable est appelée -->
return compt;
}
function compteur(){
<!-- Initialisation des variables qui reçoivent la durée de visite en secondes -->
var sortie=new Date(); // sortie page
sortie=ini_variables(); // récupération de l'heure => foonction ini_variables
duree=sortie-entree; // duree=sortie-entree => 0 secondes ou + de temps de visite.
setInterval("compteur()",1); // mise en marche système d'horloge, période est en seconde
<!-- Renvoie de l'intervalle de temps de visite lors de l'appel de la fonction compteur. -->
// dans le programme, la fonction visite appelle la fonction compteur.
return duree;
}
function visite(){
<!-- Initialisation de la variable temps qui comptabilise le temps de visite -->
<!-- On récupère dans cette: les heures, les minutes et les secondes => en secondes.-->
temps=compteur(); // variable 'durée' Fonction compteur renvoyée et réceptionnée par 'temps'
// NB: La fonction Math.round(); les résultats à l'entier le plus proche du résultat => variable temps.
heures=Math.round(temps/3600); // Heures
minutes=Math.round(temps/60); // Minutes
secondes=Math.round(temps-(heures+minutes)); // Secondes
<!--Concaténation du temps de visite-->
// Construction d'une chaîne de caractère
h_min_sec=new String(''); // Les qoutes servent à délimiter les chaînes de caractères des variables
<!-- Chaîne de caractère temps concaténées -->
visite=h_min_sec.concat ('Durée de la visite :',heures, 'heures',minutes, 'minutes',secondes, 'secondes'); // variable visite qui concatène les paramètres horaires.
<!-- La durée de visite est appelée en Unload dans la balise body. -->
alert (visite); // Affichage du temps de viste dans une fenêtre d'alerte.
}
</script>
</head>
<body onUnLoad="visite();">
</body>
</html>
Réponses
|