2

J'essaie d'afficher l'audio youtube sans vidéo avec le code ci-dessous, donc je change l'identifiant de la vidéo, mais il joue le même id encore et encore.Modifier dynamiquement l'identifiant de la vidéo sur youtube

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta charset="utf-8" /> 
    <title>About</title> 
     <script type="text/javascript"> 
      function val1(val) 
      { 

     document.getElementsByTagName("div")[0].setAttribute("data-video", val); 
          alert(val); 


      } 

     </script> 
    </head> 
    <body onload="val1('WKV_z36pVAk')"> 
    <h3 style="color:#0066dd">Hello</h3> 

    <center> 


    <div data-video="8IYzyTYucKQ" 
     data-autoplay="0" 
     data-loop="1" 
     id="youtube-audio"> 
    </div> 

    </center> 
    <button>change</button> 


    </body> 
    <script src="https://www.youtube.com/iframe_api"></script> 
    <script src="https://cdn.rawgit.com/labnol/files/master/yt.js"></script> 
    </html> 
+1

Où avez-vous vu que vous devez définir 'Data- video' pour changer la vidéo en cours de lecture? Vous devez effectuer un appel d'API, par exemple: [loadVideoById] (https://developers.google.com/youtube/iframe_api_reference#loadVideoById) –

+0

Faites attention lorsque vous modifiez les attributs de données après dom: loaded; ça devient confus rapidement. https://stackoverflow.com/questions/17762906/cant-update-data-attribute-value –

+0

Veuillez exécuter ce programme et vérifier. vous comprendrez le problème, le programme doit youtube ID vidéo, je veux changer un autre ID, mais il ne change pas. – VyTcdc

Répondre

1

Vous ne savez pas exactement ce que vous essayez de créer, mais cela pourrait vous orienter dans la bonne direction.

Vous pouvez recharger l'élément spécifique dans une sorte de façon hacky en utilisant ce code

function reload(vidId){ <-- Added a parameter 
    var container = document.getElementById("youtube-audio"); 
    container.setAttribute("data-video", vidId); <-- Added line to change data-video 
    var content = container.innerHTML; 
    container.innerHTML= content; 
} 

Et puis ajoutez ceci à votre HTML

<button onclick="reload('8IYzyTYucKQ')">Reload</button> <-- Added the parameter to what the `data-video` should be changed 
+0

je vais vérifier merci – VyTcdc

+0

Salut où passer la nouvelle vidéo ID pls – VyTcdc

+0

il ne fonctionne pas – VyTcdc