使用 jQuery 重新格式化 YouTube URL

发布于 2024-10-09 00:26:39 字数 757 浏览 0 评论 0原文

我正在使用 YouTube 频道 jQuery( http://plugins.jquery.com/project/ChannelPlaylist ) 从 YouTube 频道提取数据的脚本。然后我在页面上使用 iFrame 来显示视频,而无需离开网站。唯一的问题是 Channel 插件引入的 URL 不太符合我的 iFrame 概念。他们加载整个 YouTube 页面,而不仅仅是视频。我想出了一个解决方法,基本上我重新格式化 URL 并告诉它全屏显示并自动播放将执行我希望它执行的操作。

目前,网址的格式类似于

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

我需要将它们重写为

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

我在这里看到了一些类似的主题,但鉴于我有限的 jQuery 和正则表达式才能,我不是'无法让任何东西为我的目的工作。

I am using the YouTube Channel jQuery( http://plugins.jquery.com/project/ChannelPlaylist ) script to pull in data from a YouTube channel. Then I'm using an iFrame on the page to display the videos without leaving the site. The only problem is that the URLs the Channel plugin is pulling in don't quite work with my iFrame concept. They load the whole YouTube page instead of just the video. I figured out a workaround that basically I reformat the URL and tell it to display fullscreen and to autoplay will do what I would like it to do.

The URLs are currently formatted like

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

and I need them to be rewritten as

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

I've seen a couple of similar topics here on SO, but given my limited jQuery and regex talents I wasn't able to get anything to work for my purposes.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

十二 2024-10-16 00:26:39

为此,您需要 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"

You need Javascript, not jQuery for that.

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"
半步萧音过轻尘 2024-10-16 00:26:39

You could use a function like this to get the value for the URL vairable v and just reconstruct the url. Instead of using the window.location, just use the returned YouTube URL

var url = 'http://www.youtube.com/v/' +  v + '?fs=1&autoplay=1'
稀香 2024-10-16 00:26:39

使用 jQuery oEmbed 插件。

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

然后你只需将 iFrame 应用于所需的元素,

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

插件就会为您创建 iFrame,而不是动态插入 iFrame src。

如果您查看标准的管嵌入代码,它会提供与常规 url 不同的 url。例如,这就是 YouTube 的 iframe 中实际嵌入的内容。

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

Use the jQuery oEmbed Plugin.

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

Then you can just apply the iFrame to a desired element

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

the Plugin will create the iFrame for you as opposed to dynamically instering the iFrame src.

If you look at the standard you tube embed code it provides a different url than the regular url. For exmaple this is what is actually embed in the iframe for you tube.

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

装纯掩盖桑 2024-10-16 00:26:39

您可能应该使用标准嵌入代码在网页上嵌入视频: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&hl=en_US&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&hl=en_US&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="745"></embed>
</object>

请注意,在 YouTube 网站上还有一种方法使用 iframe 嵌入。

You should probably use the standard embedding code to embed a video on your page: http://www.google.com/support/youtube/bin/answer.py?hl=en&answer=57788

Example:

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

Note, on the youtube site there is also a way to embed using iframes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文