1

我正在使用 YouTube 频道 jQuery( http://plugins.jquery.com/project/ChannelPlaylist ) 脚本从 YouTube 频道中提取数据。然后我在页面上使用 iFrame 来显示视频而不离开网站。唯一的问题是 Channel 插件引入的 URL 不太适合我的 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 和正则表达式才能,我无法为我的目的得到任何工作。

4

4 回答 4

2

你需要 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"
于 2010-12-22T21:59:57.667 回答
0

您可以使用这样的函数来获取 URL 变量的值v并重建 URL。不使用window.location,只需使用返回的 YouTube URL

var url = 'http://www.youtube.com/v/' +  v + '?fs=1&autoplay=1'
于 2010-12-22T21:59:14.407 回答
0

使用 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

于 2010-12-22T21:59:47.090 回答
0

您可能应该使用标准嵌入代码在您的网页上嵌入视频: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 网站上,还有一种使用 iframe 嵌入的方法。

于 2010-12-22T22:03:16.200 回答