Переформатировать URL-адрес YouTube с помощью jQuery

Я использую канал YouTube jQuery ( http://plugins.jquery.com/project/ChannelPlaylist ) для получения данных с канала YouTube. Затем я использую iFrame на странице для отображения видео, не покидая сайт. Единственная проблема заключается в том, что URL-адреса, которые извлекает плагин Channel, не совсем подходят для моей концепции iFrame. Они загружают всю страницу YouTube, а не только видео. Я нашел обходной путь: в основном я переформатирую URL-адрес и говорю, чтобы он отображал полноэкранный режим, а автовоспроизведение будет делать то, что я хотел бы.

URL-адреса в настоящее время отформатированы как

http://www.youtube.com/watch?v=xxxxxxxxx&feature=youtube_gdata

и мне нужно, чтобы они были переписаны как

http://www.youtube.com/v/xxxxxxxxx?fs=1&autoplay=1

Я видел пару подобных тем здесь, на SO, но, учитывая мои ограниченные таланты jQuery и регулярных выражений, я не смог заставить что-либо работать для моих целей.


person jbwharris    schedule 22.12.2010    source источник
comment
Уточню, моя цель - отобразить список видео с канала YouTube, а затем использовать одну панель просмотра (iFrame) для просмотра видео на странице текущего сайта.   -  person jbwharris    schedule 23.12.2010


Ответы (4)


Для этого вам нужен Javascript, а не jQuery.

var v = "http://www.youtube.com/watch?v=xxxxxxxxx&feature=youtube_gdata".match(/v=(.*)&/)[1];
var url = "http://www.youtube.com/v/" + v + "?fs=1&autoplay=1"
person German Rumm    schedule 22.12.2010

Вы можете использовать подобную функцию, чтобы получить значение URL-адреса v и просто восстановить URL-адрес. Вместо использования window.location просто используйте возвращенный URL-адрес YouTube.

var url = 'http://www.youtube.com/v/' +  v + '?fs=1&autoplay=1'
person Dutchie432    schedule 22.12.2010

Используйте плагин jQuery oEmbed.

http://code.google.com/p/jquery-oembed/

Затем вы можете просто применить iFrame к нужному элементу.

$("#my-video-div").oembed('youtube url');

Плагин создаст для вас iFrame вместо динамической вставки iFrame src.

Если вы посмотрите на стандартный код для встраивания вашей трубки, он предоставляет URL-адрес, отличный от обычного URL-адреса. Например, это то, что на самом деле встроено в iframe для вас.

http://www.youtube.com/v/PoyiR3ob7yk?fs=1&hl=en_US

person Cole    schedule 22.12.2010

Вероятно, вам следует использовать стандартный код для встраивания видео на свою страницу: http://www.google.com/support/youtube/bin/answer.py?hl=ru&answer=57788

Пример:

<object width="1280" height="745">
    <param name="movie" value="http://www.youtube.com/v/PoyiR3ob7yk?fs=1&amp;hl=en_US&amp;rel=0"> </param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/PoyiR3ob7yk?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="745"></embed>
</object>

Обратите внимание, на сайте YouTube также есть способ встраивания с использованием iframe.

person tster    schedule 22.12.2010