Redirection automatique à une certaine heure
Résolu
Spritkiller
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Spritkiller Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Spritkiller Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai actuellement une radio, et pour certaines raisons techniques, il faut basculer entre deux serveurs: Un shoutcast, et un icecast, ce qui nous oblige à switcher entre deux players. M'enfin ça n'a pas grand chose à voir, sinon à situer le contexte.
Donc lors des émissions, je voudrais que le player change automatiquement, sans que l'utilisateur n'aie à recharger la page.
N'étant pas du tout codeur JavaScript, j'ai recherché longuement sur le net une solution, je n'ai trouvé qu'un code, qui bien-sûr ne fonctionne que si l'utilisateur recharge la page entre temps. Ce code fonctionne, je l'ai testé avec d'autres valeurs dans le if.
Voici le code:
Auriez-vous une solution (en ajax, javascript ou autre, tant que je peux l'intégrer dans un fichier php) pour changer de player instantanément (dans l'exemple de mon code à 21h à 00h le vendredi) sans que l'utilisateur n'aie à recharger la page?
Merci,
Cordialement,
Spritkiller.
J'ai actuellement une radio, et pour certaines raisons techniques, il faut basculer entre deux serveurs: Un shoutcast, et un icecast, ce qui nous oblige à switcher entre deux players. M'enfin ça n'a pas grand chose à voir, sinon à situer le contexte.
Donc lors des émissions, je voudrais que le player change automatiquement, sans que l'utilisateur n'aie à recharger la page.
N'étant pas du tout codeur JavaScript, j'ai recherché longuement sur le net une solution, je n'ai trouvé qu'un code, qui bien-sûr ne fonctionne que si l'utilisateur recharge la page entre temps. Ce code fonctionne, je l'ai testé avec d'autres valeurs dans le if.
Voici le code:
<SCRIPT LANGUAGE="JavaScript"> var today=new Date(); var heure=""; var time=today.getHours(); var jour=today.getDay(); heure="" if (time>=21 && time<00 && jour==5) { document.location.href="player2.php" } </SCRIPT>
Auriez-vous une solution (en ajax, javascript ou autre, tant que je peux l'intégrer dans un fichier php) pour changer de player instantanément (dans l'exemple de mon code à 21h à 00h le vendredi) sans que l'utilisateur n'aie à recharger la page?
Merci,
Cordialement,
Spritkiller.
A voir également:
- Redirection automatique à une certaine heure
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Sommaire automatique word - Guide
- Réponse automatique gmail - Guide
4 réponses
Je suis pas un expert en javascript, mais est ce que en faisant un truc comme ça ça ne marcherais pas :
A l'ouverture de ta page, tu appel la fonction changePlayer(), et cette fonction va tester l'heure qu'il est, et si il est l'heure de changer de player, elle change, sinon elle ce rappelle toute seule au bout de X milliseconde (5000 dans l'exemple) via la méthod setTimeout(...)
function changePlayer(){
var today=new Date();
var heure="";
var time=today.getHours();
var jour=today.getDay();
heure=""
if (time>=21 && time<00 && jour==5) {
document.location.href="player2.php"
}
else{
setTimeout ("changePlayer()", 5000);
}
}
A l'ouverture de ta page, tu appel la fonction changePlayer(), et cette fonction va tester l'heure qu'il est, et si il est l'heure de changer de player, elle change, sinon elle ce rappelle toute seule au bout de X milliseconde (5000 dans l'exemple) via la méthod setTimeout(...)
function changePlayer(){
var today=new Date();
var heure="";
var time=today.getHours();
var jour=today.getDay();
heure=""
if (time>=21 && time<00 && jour==5) {
document.location.href="player2.php"
}
else{
setTimeout ("changePlayer()", 5000);
}
}
Merci beaucoup pour ton aide qui, malgré qu'il paraissait juste, ne fonctionne pas.
Je l'ai testé pour le passage de 17h à 18h, et le résultat n'a pas été très concluant :/
Je l'avais juste modifié à des fins de tests à l'échelle des minutes, mais ça ne fonctionnait pas donc j'ai remis le code initial attendu le passage de 17h à 18h, et ça n'a rien donné de concluant :s
Donc si tu as d'autres solutions, ou que quelqu'un d'autre qui passe pas là en a, je les accueillerais avec plaisir!
Merci encore,
Cordialement,
Je l'ai testé pour le passage de 17h à 18h, et le résultat n'a pas été très concluant :/
Je l'avais juste modifié à des fins de tests à l'échelle des minutes, mais ça ne fonctionnait pas donc j'ai remis le code initial attendu le passage de 17h à 18h, et ça n'a rien donné de concluant :s
Donc si tu as d'autres solutions, ou que quelqu'un d'autre qui passe pas là en a, je les accueillerais avec plaisir!
Merci encore,
Cordialement,
Et en calculant le temps (en miliseconde) entre l'heure a laquelle il faut changer le player et l 'heure courante, et en passant ce temps en paramètre de la fonction setTimeout(...) est ce que sa ne marcherait pas mieux?
genre :
au chargement de la page :
fonction calculDate(){
var currentDate=new Date();
var changeDate=//ici la bonne date;
var millisecondeBeforeChange;
//calcul de la différence entre currentDate et changeDate
//.....
setTimeout("changePlayer()",millisecondeBeforeChange);
}
function changePlayer(){
document.location.href="player2.php"
}
genre :
au chargement de la page :
fonction calculDate(){
var currentDate=new Date();
var changeDate=//ici la bonne date;
var millisecondeBeforeChange;
//calcul de la différence entre currentDate et changeDate
//.....
setTimeout("changePlayer()",millisecondeBeforeChange);
}
function changePlayer(){
document.location.href="player2.php"
}
J'ai testé ça :
chez moi sa marche, en mettant alert("OK"); dans la fonction changePlayer() j'ai bien le message "OK" qui apparait à l'heure que je veux.
Si tu met ta fonction pour changer de player a la place ça devrait le faire...
<html lang="en"> <head> <meta charset="utf-8" /> <title>Ma page</title> <SCRIPT LANGUAGE="JavaScript"> function calculDate(){ //on recupere la date courante convertie en milliseconde var currentDate=new Date().getTime(); //on recupere la date courante var changeDate=new Date() //on lui met l'heure de changement désirée changeDate.setHours(20); //on lui met la minute de changement désirée changeDate.setMinutes(0); //on lui met la seconde de changement désirée changeDate.setSeconds(0); //on lui met la milliseconde de changement désirée changeDate.setMilliseconds(0); //on la convertie en millisecondes changeDate=changeDate.getTime(); //on calcule la différence entre les deux date var diff = changeDate-currentDate; //si la différence est positive if (diff>0){ //on programme le changement de player dans "diff" millisecondes setTimeout("changePlayer()",diff); } //sinon, on change tout de suite de player else{ changePlayer(); } } //fonction qui change le player function changePlayer(){ //TODO } </SCRIPT> </head> <body topmargin="0" leftmargin="0" onLoad="calculDate();"> <!-- contenu de la page web --> </body> </html>
chez moi sa marche, en mettant alert("OK"); dans la fonction changePlayer() j'ai bien le message "OK" qui apparait à l'heure que je veux.
Si tu met ta fonction pour changer de player a la place ça devrait le faire...