Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/04/2011, 21h07   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 22
Points : 0
Points : 0
Par défaut Modification automatique et journalière d'un lien

Bonjour,

J'ai un souci avec le script ci-dessous.

Ce script, incorporé à une page.html, devrait
permettre d'afficher chaque jour une page
différente lorsqu'on clique sur un lien
de cette page.

Je viens de mettre en ligne ce script
aujourd'hui 8 avril et c'est normalement laquestiondujour099 du 8 avril qui devrait s'afficher.

Or, c'est laquestiondujour106 du 15 avril
qui s'affiche.


D'où vient le problème ?

Merci d'avance.

ALAIN

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!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"
  ];
 
  var now = new Date();
 
  var num = now.getDate();
 
  num --;                      
 
  num %= (Liste.length);  
 
  location.href = Liste[num];}
 
 
</script> 
</head>
 
<body>
 
<a href="#" onclick="GetTodaysURL();return(false);">Visitez le lien du jour</a> 
 
 
<br>
 
</body>
</html>
vigiepresse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2011, 21h57   #2
Membre du Club
 
Avatar de Billy KiT
 
Inscription : mars 2011
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 47
Points : 59
Points : 59
Salut,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
function GetTodaysURL() {
 
  var Liste = [
    "laquestiondujour099.html",
    "laquestiondujour100.html",
    "laquestiondujour101.html",
    "laquestiondujour102.html",
    "laquestiondujour103.html",
    "laquestiondujour104.html",
    "laquestiondujour105.html",
    "laquestiondujour106.html",
    "laquestiondujour107.html"
  ];
 
  var now = new Date(); // on est le 08/04/2011
 
  var num = now.getDate(); // num=8
 
  num --; // num=7                      
 
  num %= (Liste.length);  // num=7%9=7 (reste de la division)
 
  location.href = Liste[num];} // liste[7]="laquestiondujour106.html"
C'est donc la méthode qui n'est pas bonne
Billy KiT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 17h57   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 861
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 861
Points : 1 366
Points : 1 366
comme le dit billy 8-1 = 7 et si on cherche le 7 dans ton tableau :

Code :
1
2
3
4
5
6
7
8
9
10
11
var Liste = [
    "laquestiondujour099.html", //0
    "laquestiondujour100.html", //1
    "laquestiondujour101.html", //2
    "laquestiondujour102.html", //3
    "laquestiondujour103.html", //4
    "laquestiondujour104.html", //5
    "laquestiondujour105.html", //6
    "laquestiondujour106.html", //7 <- question 106 pour le 8 avril
    "laquestiondujour107.html" //8
  ];
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 19h05   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
Citation:
Envoyé par vigiepresse
Je viens de mettre en ligne ce script
aujourd'hui 8 avril et c'est normalement laquestiondujour099 du 8 avril qui devrait s'afficher.
il y a donc trop de données dans ton tableau.

Si tu veux faire la rotation comme les semaines alors il te faut un tableau à 7 entrées pas plus.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script type="text/javascript">
  var Liste = [
    "laquestiondujour099.html",
    "laquestiondujour100.html",
    "laquestiondujour101.html",
    "laquestiondujour102.html",
    "laquestiondujour103.html",
    "laquestiondujour104.html",
    "laquestiondujour105.html"//,
//    "laquestiondujour106.html",
//    "laquestiondujour107.html"
  ];
for( var i = 1; i < 31; i++){
  document.write( i, ' -> ', Liste[(i-1)%Liste.length], '<br>');
}
</script>
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 15h42   #5
Invité de passage
 
Inscription : octobre 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 22
Points : 0
Points : 0
Par défaut Modification automatique et journalière d'un lien

Bonjour,

Merci à tous pour vos propositions.
Je n'ai pas eu le temps de les tester car j'avais
d'autres priorités.

En plus, je me demande si j'ai été bien clair dans
la présentation de ce que je souhaite obtenir.

Je veux donc qu'un clic dans un même lien affiche
chaque jour une page différente et je souhaiterais
que cet automatisme soit programmé, non pas sur
une semaine, mais sur les 365 jours de l'année
.

Dernière précision, les 365 pages qui s'afficheront
chacune à leur tour seront toutes différentes
.

A+, j'espère

ALAIN
vigiepresse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 16h11   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
un array de 365 element ?
je vois pas l'interet de la chose

d' autant plus si tes fichiers son nommés de façon rationnelle...
recupère juste le numéro iso du jour et concatène le nom de fichier ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 20h23   #7
Invité de passage
 
Inscription : octobre 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 22
Points : 0
Points : 0
Par défaut Modification automatique et journalière d'un lien (suite)

"array", "numéro iso du jour", "concatène",...
ouh! que voilà du jargon de spécialiste complètement
incompréhensible à moi qui n'en suis pas un.

Mes 365 fichiers sont prêts et numérotés de 1 à 365,
donc je préfèrerais ne pas avoir à les renommer
lorsque je les mettrai en ligne.

Est-ce possible d'avoir un script qui affiche le fichier 1 au jour J,
le fichier 2 à J+1, le fichier 3 à J+2, le fichier 4 à J+3,... et ainsi
de suite jusqu'au fichier 365 à J+364 ?????

Merci.

ALAIN
vigiepresse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 20h39   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Admettons que tes fichiers soient nommés rationnellement:
Citation:
fichier1.htm
fichier2.htm
fichier3.htm
...
fichier11.htm
fichier12.htm
fichier13.htm
...
fichier365.htm
il suffit de récupérer avec javascript le numéro du jour dasn une variable et concaténer le nom du fichier

Code :
"fichier"+nrJour+".htm"
La question est alors comment récupérer le nr du jour...

On peut rapidement étendre la Date() javascript comme suit:
Code :
1
2
3
4
Date.prototype.Jour = function() {
var prem = new Date(this.getFullYear(),0,1);
return Math.ceil((this - prem) / 86400000  );
}
ce qui permet à partir d'une date de retourner son numéro ordinal dans l'année

ton script deviendrait:
Code :
1
2
3
4
 
var aujourdhui=new Date()
NrJour=aujourdhui.Jour()
self.location.href="fichier"+NrJour+".htm"
Attention toutefois ce script sera basé sur la date locale du client !
Donc modifiable par le client pour accéder à n'importe quelle page en changeant sa date système.
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h35.


 
 
 
 
Partenaires

Hébergement Web