在URL中获取YouTube视频ID,并将选定的视频ID输入到URL中

时间:2009-12-29 06:15:27

标签: jquery youtube

我一直在努力解决这个问题。我要做的是,从YouTube获取视频的ID,并使用jQuery将11个字符ID输入到特定id的div的css中。我知道任何视频的缩略图的URL,但我只需要能够更改ID以显示不同的视频缩略图。

<script>
    $(document).ready(function() {
        function(data) {
            videoID = data.split('www.youtube.com/v/')[1].split('&amp')[0];
            $("#304817679").append(videoID);
        });

        $("#304817679").replaceWith("<div id=\"304817679\" " +
            "style=\"background: url(http://img.youtube.com/vi/" + 
            $.function(data) + 
            "/0.jpg) no-repeat middle; width: 15px; height: 150px;\"></div>");
    });
</script>

<div id="304817679">
    <div style="display: none;">
        <object width="248" height="222">
            <param name="movie" value="http://www.youtube.com/v/vy90n2nNRKQ&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"></param>
            <param name="wmode" value="transparent"></param>
            <param name="allowFullScreen" value="true"></param>
            <embed src="http://www.youtube.com/v/vy90n2nNRKQ&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="248" height="222" allowFullScreen="true" wmode="transparent"></embed>
        </object>
    </div>
</div>

尝试更好地解释这一点,我想从嵌入代码中获取11角色YouTube视频ID,并将其放入缩略图的网址(http://img.youtube.com/vi/" + function(data) + "/0.jpg")。然后,它还会替换原来的div<div id="304817679">)。

我的剧本是否在正确的轨道上?

3 个答案:

答案 0 :(得分:1)

我不太确定你想做什么,但是如果它没有名字,则无法调用函数(之后)。此外,没有定义可变数据。

 $(document).ready(function() {

    //lets give this function a name
    function getID(data) {
        //videoID is parsed nicely
        videoID = data.split('www.youtube.com/v/')[1].split('&amp')[0];

        //this doesn't actually do anything useful since it is replaced afterwards
        $("#304817679").append(videoID);

        //to get a value out of function we need to return it
        return videoID;
    };

    //background style wasn't defined correctly
    //changed to background-image and background-repeat
    //lets also supply getID function HTML as data
    $("#304817679").replaceWith("<div id=\"304817679\" " +
        "style=\"background-image: url(http://img.youtube.com/vi/"  + 
        getID($("#304817679").html()) + 
        "/0.jpg); background-repeat: no-repeat; width: 15px; height: 150px;\"></div>");
});

Demo

答案 1 :(得分:0)

好的,所以你真正想要的是如何查找和替换文本。看看Find & replace jquery

或者您是否在获取和设置属性时遇到了问题?

答案 2 :(得分:0)

如果YouTube视频的网址是: http://www.youtube.com/user/sothebysrealty?feature=watch

这些类型的网址中没有“id”。如果所有者使用了有点或类似的东西,你可以在线反转网址,但仍然可以得到类似上面的内容。

我无法弄清楚如何让vid播放器通过YouTube API使用该网址。