vigiepresse
Messages postés36Date d'inscriptionvendredi 12 mars 2010StatutMembreDernière intervention29 avril 2011
-
23 avril 2011 à 12:42
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 2017
-
27 avril 2011 à 12:52
Bonjour,
J'ai un souci avec le script ci-dessous
qui devrait normalement, lorsque je
clique sur "Visitez le lien du jour",
afficher automatiquement une page
différente chaque jour.
Exemples :
>>> "laquestiondujour114.html"
pour aujourd'hui 23 avril, 114e jour de l'année
>>> "laquestiondujour115.html" pour demain 24 avril, 115e jour de l'annnée
>>> et ainsi de suite pendant les 365 jours de l'année.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>nouveauscript</title>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<script language="JavaScript">
function GetTodaysURL() {
var Liste = [
"laquestiondujour099.html",
"laquestiondujour100.html",
"laquestiondujour101.html",
"laquestiondujour102.html",
"laquestiondujour103.html",
"laquestiondujour104.html",
"laquestiondujour105.html",
"laquestiondujour106.html",
"laquestiondujour107.html",
"laquestiondujour108.html",
"laquestiondujour109.html",
"laquestiondujour110.html",
"laquestiondujour111.html",
"laquestiondujour112.html",
"laquestiondujour113.html",
"laquestiondujour114.html",
"laquestiondujour115.html",
"laquestiondujour116.html",
"laquestiondujour117.html",
"laquestiondujour118.html",
"laquestiondujour119.html",
"laquestiondujour120.html",
"laquestiondujour121.html",
"laquestiondujour122.html",
"laquestiondujour123.html"
];
var now = new Date();
var num = now.getDate();
//test
//num=8;
//num=9;
//num=10;
i=0;
while(i<366){
num=num+1;
document.write(n = num % (Liste.length));
document.write("
");
document.write(Liste[n]);
document.write("
");
i++;
}
//location.href = Liste[n];
}
</script>
</head>
[# Visitez le lien du jour]
</html>
[b]Or, malheureusement, lorsque je clique
sur "Visitez le lien du jour", c'est
la liste des fichiers-questions qui s'affiche :/b 24
laquestiondujour123.html
0
laquestiondujour099.html
1
laquestiondujour100.html
2
laquestiondujour101.html
3
laquestiondujour102.html
etc., etc... par séries
de 0 à 24 (366 en tout).
D'où vient le problème ? Merci d'avance pour votre aide.
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 27 avril 2011 à 12:52
Bien le bonjour, le but est bien de redirigé l'utilisateur sur une page
laquestiondujourxxx.html
je pense que la solution la plus simple est la suivante
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>nouveauscript</title>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<script language="JavaScript">
function GetTodaysURL() {
// Récupère le nombre de jour écoulé depuis le 1 janvier de l'année courante.
var num = getDayOfYear();
// Ajoute les 0 nécessaire, si ne nombre est inférieur à 10 alors on ajoute 00 si inférieur à 100 0 sinon, rien.
val = (num<10) ? "00"+num : (num<100)? "0"+num :num;
// Reconstruit l'adresse (concatene le début de l'adresse avec la bonne valeur du jour.
var newAddr = "laquestiondujour" + val +".html";
// Affichage pour débugage.
document.write("
");
document.write(newAddr);
document.write("
");
//location.href = Liste[n];
}
/**
* Retourne le nombre de jour écoulé depuis le 1 janvier de l'année courante
*/
function getDayOfYear(){
// Date courante.
var now = new Date();
// 1 jour de l'année en cours (mois =0)
var firstDayOfYear = Date.UTC(now.getFullYear(), 0,0,0,0,0,0);
// Recalibre la nouvelle date de manière à ne pas prendre en compte les heures/minutes/secondes.
var newNow = Date.UTC(now.getFullYear(),now.getMonth(), now.getDate(),0,0,0,0);
// Recalcul le nombre de jour écoulé.
// on obtient le temps écoulé en millisecondes, il faut donc recalculer le nombre de jour (24*60*60*1000)= 1 jour
var totDay = ((newNow - firstDayOfYear) / (24 * 60 * 60 * 1000));
// Retourne la différence de date en jour
return totDay;
}
</script>
</head>
[# Visitez le lien du jour]
</html>
Mais ceci ne fonctionne que si la "racine" de la page ne change pas en fonction des jours.