JS:插入youtubelink = youtube信息

时间:2010-06-20 23:39:12

标签: javascript jquery

所以我到目前为止:

$.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
});

此脚本适用于一个特定视频。

现在我希望同样的事情发生,但是你插入一个youtube链接,然后就会发生这种情况。

例如,您将此http://www.youtube.com/watch?v=G7YXn-lfHXc粘贴到普通<input id="youtubebox" type="text">中,然后它会为您提供这三个警报,其中包含您插入的视频链接的说明,标题和缩略图。

所以它以某种方式将此http://www.youtube.com/watch?v=G7YXn-lfHXc转换为此G7YXn-lfHXc,然后在该行插入该视频链接ID:

$。get('http://gdata.youtube.com/feeds/api/videos/ HERE ?v = 2&amp; alt = json',function(data){

或者?我怎么能这样做,请帮助我对我的系统的最后需求,谢谢。

1 个答案:

答案 0 :(得分:0)

更新了更多验证以避免返回无效数据错误(例如错误的YouTube链接)

这会照顾你。

您可以将事件放在按钮上,也可以将其置于输入字段“on blur”上

<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>