2010-06-20 4 views
0

donc Ive a obtenu jusqu'ici:JS: Insérer youtubelink = youtube information

$.get('http://gdata.youtube.com/feeds/api/videos/NWHfY_lvKIQ?v=2&alt=json', function(data) { 
     var title = data.entry.title.$t; 
     var description = data.entry.media$group.media$description.$t; 
     var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image 

     alert (description); 
       alert (title); 
         alert (thumbnail); 
     // Use these variables somewhere 
}); 

Ce script est pour une vidéo spécifique.

Maintenant, je veux que la même chose se produise mais que vous insériez un lien youtube et que cela se produise.

par exemple, vous collez ce http://www.youtube.com/watch?v=G7YXn-lfHXc dans un <input id="youtubebox" type="text"> normal, puis il vous donnera ces trois alertes avec la description, le titre et la vignette pour la liaison vidéo que vous avez inséré.

Il convertit en quelque sorte ce http://www.youtube.com/watch?v=G7YXn-lfHXc à ce G7YXn-lfHXc puis insère cet ID liaison vidéo à cette ligne:

.get $ (? http://gdata.youtube.com/feeds/api/videos/ICI v = 2 & alt = JSON ', fonction (données) {

Ou? comment puis-je faire s'il vous plaît aidez-moi mes derniers besoins de mon système, je vous remercie.

+1

Que voulez-vous besoin d'aide sur? Votre code fonctionne bien. – tcooc

+0

Je veux donc quand vous collez un lien vidéo youtube dans une boîte sur ma page, il exécute ce code avec l'ID du lien vidéo collé – Karem

Répondre

0

mis à jour avec un peu plus de validation pour éviter les erreurs de retour avec des données non valides (par exemple mauvais lien youtube)

Cela prendra soin de vous pour vous.

Vous pouvez placer l'événement sur un bouton ou tout comme « le flou » du champ d'entrée

<input type="text" name="youtube" id="youtube_url" /> 

<script> 
$(document).ready(function(){ 
    $("#youtube_url").blur(function() { 
      var url=$(this).val(); 
      //get the youtube video id 
      regx = new RegExp("http://(www.)?youtube.com/(.*)v=([a-zA-Z0-9\-]+)"); 
      var ytID = regx.exec(url); 

      if(ytID!=null && ytID[3]!="") { 
       $.get('http://gdata.youtube.com/feeds/api/videos/'+ytID[3]+'?v=2&alt=json', function(data) { 
         if(data.entry != null) {                   
          var title = data.entry.title.$t; 
          var description = data.entry.media$group.media$description.$t; 
          var thumbnail = data.entry.media$group.media$thumbnail[0].url; // URL of the image 

          alert (description); 
          alert (title); 
          alert (thumbnail); 
         // Use these variables somewhere 
         } 
       }); 
      } 
    });       
}); 
</script> 
+0

Vous rock, merci, et non pour la source, mais que je comprends maintenant comment faire cela timee – Karem

+0

Aucun problème. La seule vraie chose délicate est l'expression régulière. Heureux d'avoir pu aider. – User123342234