如何使用jQuery从URL显示来自youtube的视频?

时间:2012-07-25 22:15:46

标签: jquery youtube each

我想用类“yturl”读取div并从youtube替换为iframe。

为什么我的源代码不起作用?

我有以下源代码:

HTML:

<div class="yturl">http://www.youtube.com/watch?v=mwVuURFNX0E</div>

JS:

$("div.yturl").each(function(){
    var regex = /(\?v=|\&v=|\/\d\/|\/embed\/|\/v\/|\.be\/)([a-zA-Z0-9\-\_]+)/;
    var youtubeurl = $(this).text();
    var regexyoutubeurl = youtubeurl.match(regex);
    if (regexyoutubeurl) {
        $(this).html("<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/"+regexyoutubeurl[2]+" frameborder=\"0\" allowfullscreen></iframe>");
    }
});

1 个答案:

答案 0 :(得分:1)

由于你犯了一个拼写错误,它无法正常工作。

您的代码是在html代码后生成的(尝试在此处找到缺少的引号):

<iframe width="420" height="315" src="http://www.youtube.com/embed/mwVuURFNX0E frameborder=" 0"="" allowfullscreen=""></iframe>

更正了JavaScript代码:

$("div.yturl").each(function(){
    var regex = /(\?v=|\&v=|\/\d\/|\/embed\/|\/v\/|\.be\/)([a-zA-Z0-9\-\_]+)/;
    var youtubeurl = $(this).text();
    var regexyoutubeurl = youtubeurl.match(regex);
    if (regexyoutubeurl) {
        $(this).html("<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/"+regexyoutubeurl[2]+"\" frameborder=\"0\" allowfullscreen></iframe>");
    }
});

我建议您使用Firebug或Webkit Web Inspector查看动态生成的代码。