Afficher plusieurs fois un élément XMLHttpRequest

stefman78260 Messages postés 51 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour la commentçamarchosphère,

voilà, je bloque sur un point qui ne doit pas être si compliqué à résoudre... mais je ne trouve aucune info concrète !

J'ai une fonction XMLHttpRequest pour faire afficher un titre et une pochette sur un titre en diffusion (streaming).

Le script appel un fichier XML simple qui est mis à jours à chaque changement de titre. Tout fonctionne, mais voilà, je voudrais aussi afficher le dernier titre joué !

Mon code actuel:

Mon XML:
<?xml version="1.0" encoding="utf-8"?>
<titrage>
   <muzik>
        <titre>{{TITRE}}</titre>
	<artiste>{{ARTISTE}}</artiste>
   </muzik>
</titrage>


(NOTE: les {{TITRE}} et {{ARTISTE}} sont remplacés par le titre et l'artiste en cours par mon logiciel d'automation qui upload le xml sur le serveur.)

mon JS:
function titrageonline(){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
	if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
		var a = xhr.responseXML;
		var titre = (a.getElementsByTagName('titre')[0].firstChild.nodeValue);
		var artiste = (a.getElementsByTagName('artiste')[0].firstChild.nodeValue);
		

	document.getElementById('titreur_artiste_et_titre').innerHTML="<u>En ce moment:</u><br>"+ artiste +" - "+ titre +"";
	document.getElementById('titreur_pochette').src="pochettes/"+ artiste +" - "+ titre +".jpg";

	}		
};
xhr.open('GET', 'titrage.xml', true);
xhr.send(null);
setTimeout(titrageonline,25000);
}


Voilà, maintenant je souhaite aussi afficher le dernier titre diffuser, celui d'avant donc !

Bien entendu avec cette configuration, à la première visite, impossible de voir le dernier titre joué, mais dès le second titre joué, on l'affiche.

Et là, c'est le drame ! Je bloque... Avez-vous des idées, des tutos, une indication ?

Merci !


A voir également:

5 réponses

theshadoo Messages postés 878 Statut Membre 123
 
les cookies en javascript ou php puisque tu utilises l'ajax.
https://ppk.developpez.com/tutoriels/javascript/gestion-cookies-javascript/
0
stefman78260 Messages postés 51 Statut Membre 2
 
Pourquoi ne pas y avoir pensé plus tôt ... -_-

Merci, j'y connais rien, mais je vais suivre le tuto, je reviens dire ce qu'il en est !

Merci !!
0
theshadoo Messages postés 878 Statut Membre 123
 
je pense que ça te donnera pas mal d'autres idées
0
stefman78260 Messages postés 51 Statut Membre 2
 
Bon, bon, bon...

Je n'y comprends rien... Enfin presque !

J'ai compris le fonctionnement et tout, mais je ne comprends pas comment l'adapter à mon problème et je ne trouve aucune explication, tuto ou autres...

En gros il faut qu'un cookie soit créer lorsque le 1er titre est joué, puis lorsque le second se joue, un bouton "apparaît", puis lorsque l'on clique dessus on lis le cookie qui a été créer et qui contient donc le 1er titre joué, mais lorsque ce second titre est fini, le titre N°2 doit remplacé le 1er cookie créer ainsi de suite...

Et ça doit donc être créer tout seul, sans l'intervention du visiteur.

Et je ne voit pas comment analyser les titres par rapport au cookie...

Comment puis-je procéder ?
Y a il une autre manière de procéder ?

Merci !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5413 Statut Membre 894
 
_
il faut résonner avec la chronologie:

- AVANT d'afficher le tire en cours de diffusion
tu testes si cookie existe, si oui tu lis et affiche son contenu (c'est le titre précédent)
- tu affiche le titre en cours et tu écris ce titre dans le cookie
donc la fois suivante cela deviendra le titre précédent
0