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 une variable javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Par défaut Récupérer une variable javascript
    Bonjour,

    le petit problème que je rencontre est niveau ultra débutant je pense, mais je connais absolument pas le javascript et j'ai pas résolu le soucis malgré plusieurs recherches.

    Je cherche à afficher plusieurs vidéos youtube sur une même page (à l'aide d'une bdd et php), pour ca j'ai récupéré le script fourni par Youtube ci-dessous. Seulement il m'affiche constamment la même vidéo car il l'appelle à chaque fois "Player" dans cette partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          var player;
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {

    Pour chaque vidéo j'ai créé au préalable une variable en javascript appelée "video" (oui j'ai beaucoup d'imagination ^^), simplement je n'arrive pas à la déclarer dans le script. Je vois bien qu'il faut remplacer 'player" dans le script fourni par Youtube par la variable 'video' mais les tentatives que j'ai fait ne fonctionnent pas. C'est extrêmement simple je suppose mais étant niveau 0 je n'utilise pas la bonne méthode. Donc ma question est toute simple : comment remplacer 'player' par ma variable "video" dans le code (de façon à ce que chaque vidéo ait un identifiant unique) ?


    Voici le script complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
     
    <script>
          // 2. This code loads the IFrame Player API code asynchronously.
          var tag = document.createElement('script');
     
          tag.src = "https://www.youtube.com/iframe_api";
          var firstScriptTag = document.getElementsByTagName('script')[0];
          firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
     
          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          var player;
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {
              height: '390',
              width: '640',
              videoId: 'M7lc1UVf-VE',
              events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
              }
            });
          }
     
          // 4. The API will call this function when the video player is ready.
          function onPlayerReady(event) {
            event.target.playVideo();
          }
     
          // 5. The API calls this function when the player's state changes.
          //    The function indicates that when playing a video (state=1),
          //    the player should play for six seconds and then stop.
          var done = false;
          function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.PLAYING && !done) {
              setTimeout(stopVideo, 6000);
              done = true;
            }
          }
          function stopVideo() {
            player.stopVideo();
          }
        </script>

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     player = new YT.Player(video, {
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Par défaut
    Merci pour ta proposition, ca devrait être la méthode correcte ? J'ai essayé bien sûr mais aucune vidéo ne s'affiche.

    Je ne sais pas pourquoi mais j'arrive pas du tout à passer ma variable dans le script. Pourtant elle existe bien et est unique à chaque fois puisque elle s'affiche parfaitement lorsque je met "document.write(video);" plus loin dans le div (pour vérifier).
    De la même façon, lorsque j'insère "var video = '<?php echo $video ?>' ;" et que je regarde le code source du navigateur "var video" est bien égal à ma variable...

    Seulement on dirait que cette variable ne passe pas dans le script :/

    Par exemple si je fais ca, aucune video ne s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          var video = '<?php echo $video ?>' ; // ici la variable est bien déclarée et unique, je peux le vérifier dans le code source
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('video', {
    C'est pourtant correct ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Par défaut
    En fait je crois que ca fonctionne pas parce que ma variable php est interprétée coté serveur et le script javascript coté client non ?

    Du coup ma variable "video" serait mal interprétée au moment de l'éxécution du script ?

    Car lorsque je met le code ci-dessous la variable est bien affichée dans le script lorsque je regarde le code source du navigateur, mais la vidéo ne s'affiche pas pour autant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          // 3. This function creates an <iframe> (and YouTube player)
          //    after the API code downloads.
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('<?php echo $video ?>', {

    Mais je vois pas comment faire pour passer une variable dynamique au script de youtube dans ce cas. Je vais peut-être ouvrir un nouveau sujet, ce sera plus clair...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    "video" = string ...
    video = variable ...
    Ma page Developpez - Mon Blog 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

    Venez sur le Chat de Développez !

  6. #6
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2015
    Messages : 4
    Par défaut
    Je sais bien, dans le script fourni par youtube c'est une chaine de caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('player', {
    Seulement c'est ici que je dois insérer ma variable, à la place de 'player', car la chaine de caractères doit être identique à l'identifiant du div. J'arrive à insérer ma variable avec du php de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          function onYouTubeIframeAPIReady() {
            player = new YT.Player('<?php echo $video ?>', {
    mais la vidéo ne s'affiche pas pour autant.

    Lorsque je met la variable video directement en javascript (récupérée 2 lignes plus haut de cette façon : var video = '<?php echo $video; ?>' ; ), même résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          function onYouTubeIframeAPIReady() {
            player = new YT.Player(video, {
    Je suppose que c'est pas la bonne méthode mais je trouve pas d'autre piste pour l'instant. Merci quand même.

Discussions similaires

  1. [PHP-JS] Récupérer une variable javascript
    Par -Neo- dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2007, 16h52
  2. Réponses: 2
    Dernier message: 05/05/2007, 23h11
  3. Récupérer une variable Javascript
    Par pc75 dans le forum ASP
    Réponses: 2
    Dernier message: 20/10/2006, 13h44
  4. récupérer une variable javascript dans une variable java
    Par tx dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/07/2006, 17h55
  5. Récupérer une variable --> Javascript+CSS
    Par Skarlix dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/08/2005, 16h01

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