【问题标题】:Reformat a YouTube URL using jQuery使用 jQuery 重新格式化 YouTube URL
【发布时间】:2011-05-29 16:22:04
【问题描述】:

我正在使用 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

我在 SO 上看到了几个类似的主题,但鉴于我有限的 jQuery 和正则表达式才能,我无法为我的目的找到任何东西。

【问题讨论】:

  • 我要澄清一下,我的目标是显示来自 YouTube 频道的视频列表,然后使用单个查看窗格(iFrame)查看当前站点页面上的视频。跨度>

标签: jquery youtube youtube-channels


【解决方案1】:

你需要 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"

【讨论】:

    【解决方案2】:

    您可以使用 function like this 来获取 URL 变量 v 的值,然后重新构建 URL。不要使用window.location,只需使用返回的YouTube URL

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        您可能应该使用标准嵌入代码在您的页面上嵌入视频: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 嵌入的方法。

        【讨论】:

          猜你喜欢
          • 2011-07-05
          • 2011-12-03
          • 1970-01-01
          • 2013-10-08
          • 2011-04-05
          • 1970-01-01
          • 1970-01-01
          • 2011-11-14
          • 2014-08-12
          相关资源
          最近更新 更多