从URL参数中提取Youtube视频ID?

时间:2011-10-23 01:35:52

标签: jquery parameters youtube

例如,如果YouTube视频为http://www.youtube.com/watch?v=6hTPDG0fGCU且我的网站为http://mysite.com?youtubeurl=http://www.youtube.com/watch?v=6hTPDG0fGCU,则将此情况下的ID 6hTPDG0fGCU设置为var youtubevideoid 我工作的东西,但仅用于替换iframe src。

<script type="text/javascript" >
$(document).ready(main);

function main()
{
 $('iframe').attr('src', getIframeUrl() );
 registerEvents();
 resizeIframe();
}

function getIframeUrl()
{
 var url = window.location.href;
 var iframe_url = 'http://lowkeyunofficial.blogspot.com/';
 var param_start = url.indexOf("iframe=");
 if( param_start != -1 )
  iframe_url = url.substr(param_start+7,url.length-param_start-7);
 if( iframe_url.indexOf("http://") == -1)
  iframe_url = "http://" + iframe_url ;

 return iframe_url;
}
</script>

2 个答案:

答案 0 :(得分:2)

我建议使用正则表达式:

var url = "http://www.youtube.com/watch?v=26PAgklYYvo&ob=av3e";
var video_id = url.match(/v=(.{11})/)[1]

答案 1 :(得分:2)

总是可以像这样使用正则表达式,例如:

var url = "http://mysite.com?youtubeurl=http://www.youtube.com/watch?v=6hTPDG0fGCU",
     id = url.match(/\?v=([^&]*)/)[1];

P.S。对不起@Alex,由于某种原因,答案通知没有弹出。如果id真的总是11个字符长,那么正则表达式更好。