Переформатировать URL YouTube с помощью jQuery - PullRequest
1 голос
/ 23 декабря 2010

Я использую сценарий YouTube Channel 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 и regex, я не смог заставить что-то работать для моих целей.

Ответы [ 4 ]

2 голосов
/ 23 декабря 2010

Вам нужен 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"
0 голосов
/ 23 декабря 2010

Вероятно, вы должны использовать стандартный код для встраивания видео на вашу страницу: http://www.google.com/support/youtube/bin/answer.py?hl=en&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 также есть способвставлять с помощью iframes.

0 голосов
/ 23 декабря 2010

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

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

Тогда вы можете просто применить iFrame к желаемому элементу

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

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

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

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

0 голосов
/ 23 декабря 2010

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

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