IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Récupérer données contenues dans une balise issue d'une webradio


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 11
    Par défaut Récupérer données contenues dans une balise issue d'une webradio
    Bonjours à toutes et à tous,
    habituellement j'arrive toujours à me sortir d'affaire avec les forums ou la doc, mais là mon problème est assez spécifique et pointu (enfin pour moi ). Je vais essayer d'être le plus clair et précis possible.

    Je met en place un système de vote sur une webradio, je doit donc récupérer les données concernant le titre en cours pour l'envoyer en base de donnée. Mon soucis réside dans le fait de récupérer les données du flux de la radio. Du côté du serveur de la radio (fonctionne avec centovacast) on me fournis une balise qui permet d'afficher ces données à l'écran.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $artiste ="<span id='cc_strinfo_trackartist_avwpbnzr' class='cc_streaminfo'></span>";

    Le souci est le suivant, j'arrive à afficher la valeur grâce à la balise, mais une seule fois exple;

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $artiste_clone = $artiste;
    echo($artiste);
    echo($artiste_clone);
    Ceci m'affiche le nom de $artiste, mais une chaîne vide pour $artiste_clone.


    Du coup, j'ai quand même essayer de récupérer la valeur avec un petit script;

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo'<div id="test">'.$artiste.'</div>';
    echo '<script LANGUAGE="Javascript">
    			function envoi_data(){
    				var elt = document.getElementById("test");
    				var monTexte = elt.innerText || elt.textContent;
    				console.log(monTexte);};
    </script>';
    Mais toujours le même problème d'affichage une seule fois....Soit je la récupère avec le script, soit je l'affiche ailleurs. Or j'ai besoin qu'elle soit affiché et je dois l'utiliser par ailleurs.
    Que faire?
    Je suppose que mon soucis est de l'ordre d'une incompréhension du fonctionnement de cette balise.
    J'ai également cherché du coté de la doc de centovacast; http://www.centova.com/doc/cast , mais la en plus d'être entièrement en anglais, je n'arrive pas à comprendre comment utiliser les différentes techniques suggérées (json, xml etc...) et si elles sont réellement adaptées à mon besoin. De plus pour éviter de refaire des requêtes sur le serveur de la radio il serait mieux de gérer ça du côté client, non? Surtout que la données est déjà envoyer puisqu'elle s'affiche.
    Ça fais presque une semaine que je butte sur ce problème, aider moi je vous pris, j'en peux plus

    Merci d'avance pour les pistes que vous pourrez me suggérer.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    si j'ai bien compris $artiste contient du code HTML sans contenu, donc ton textContent ne te renverra jamais rien.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 11
    Par défaut
    En fait si, on me renvoie le contenu mais une seule fois! Je ne sais pas précisèment comment cela fonctionne mais ma balise semble ne rien contenir entre les <Span>, mais sur la page html le nom de l'artiste apparaît. (j'ai vérifié le code source et effectivement il n'y a pas le texte au sein de cette balise). Mais dans tout les cas si je la met plusieurs fois, le contenu n’apparaît que dans la première. Ce n'est donc pas du texte? Je me demande également à quel moment cette donnée est envoyé.

    Je viens de faire un petit coup de deboggage et le script fonctionne bien et me renvoie effectivement le contenu, mais du coup sur la page cette valeur n’apparaît plus...

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Il existe des méthodes pour mettre du contenu sans que celui-ci appartienne au DOM, par exemple :after via le CSS.

    Je me demande également à quel moment cette donnée est envoyé.
    Ca on ne peut pas le dire à ta place, mais quand/comment fais tu ta requête?

    Peut être que si tu avais une page de test à nous fournir

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Une autre chose m'est apparue, comme tu mets dans ta page deux <span> ayant la même ID, si un script modifie le contenu de celui-ci en l'ayant récupéré via un document.getElementById(), le 1st sera modifié mais pas les autres.

    Pour illustrer mon propos je te propose ce test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <span id="id_span">Texte du premier SPAN</span>
    <span id="id_span">Texte du second SPAN</span>
    <script>
    var oElem = document.getElementById('id_span');
    oElem.innerHTML = '...modifié...';
    </script>
    observe ce qui se passe, peut être une raison de la disparition d'un de tes textes.

    Pour rappel :
    Une ID doit être UNIQUE

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 11
    Par défaut
    J'ai sans doute une nouvelle piste, en fait selon ce que je comprend, c'est un script déposé sur le serveur de la radio qui doit modifier le contenu de la balise, et comme l'id est unique je ne peux pas l'appeler 2 fois.
    Mais je pensai que le premier script permettais justement d'extraire la valeur, ce qui logiquement n'as aucun rapport avec le fais d'être limité à une seule balise, non?
    Une fois la valeur récupéré, on ne peux pas la dupliquer à l'infini?

    Du coup, petit détail que j'avais omis de te dire, il y a la référence au fameux script du serveur, si tu peux y jeter un oeil d'expert, t'y décèlera peut être le fonctionnement.

    http://radio.pro-fhi.net:2199/system/streaminfo.js

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 11
    Par défaut
    Bon finalement, j'ai résolu mon problème, en réflechisant un peu, chose que j'aurai du faire au départ au lieu de partir dans tout les sens.....
    Le script que j'ai fournis au début récupère bien la valeur contenu dans la balise, mais seulement lorsque l'utilisateur clique sur un bouton, donc tant que ce n'est pas fait la valeur peut-être affiché ailleurs Donc cette histoire d'affichage unique ne me pose pas vraiment de problème...

    Bon ça m'as quand même permis d'aller lire quelques tutos intéressant notamment sur l'ajax.
    Comme je bosse un peu dans l'urgence, je commence à peine à découvrir le javascript, d’où sans doute mes difficultés.
    Merci en tout cas pour tes réponses, qui m'ont aidé à cheminer...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 05/02/2015, 14h47
  2. [HTML 4.0] Remplacer une balise <INPUT> par une balise <BUTTON> ou <a href>
    Par LeHibou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 28/09/2012, 13h54
  3. Réponses: 6
    Dernier message: 31/05/2008, 18h05
  4. Récupérer le code d'une page html contenue dans un balise object sous I
    Par olivier21c dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/05/2008, 16h48
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo