Извлечь идентификатор видео Youtube из параметра URL? - PullRequest
1 голос
/ 23 октября 2011

Например, если видео на YouTube - http://www.youtube.com/watch?v=6hTPDG0fGCU, а мой веб-сайт - http://mysite.com?youtubeurl=http://www.youtube.com/watch?v=6hTPDG0fGCU, тогда установите идентификатор в этом случае 6hTPDG0fGCU как var youtubevideoid, что-то, с чем у меня работает atm, но только для замены 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 ]

2 голосов
/ 23 октября 2011

Всегда можно использовать регулярные выражения для чего-то подобного, например:

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

PS Извините @Alex, по какой-то причине не появилось уведомление об ответе.Если идентификатор действительно всегда 11 символов, это регулярное выражение лучше.

2 голосов
/ 23 октября 2011

Я бы рекомендовал использовать регулярное выражение:

var url = "http://www.youtube.com/watch?v=26PAgklYYvo&ob=av3e";
var video_id = url.match(/v=(.{11})/)[1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...