【问题标题】:How to embed a youtube playlist with a sidebar如何使用侧边栏嵌入 youtube 播放列表
【发布时间】:2019-12-18 21:43:04
【问题描述】:

我正在尝试将带有侧边栏的 youtube 播放列表嵌入到我的 html 页面中。

播放列表本身可以通过这个 html 代码嵌入:

<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"/>

这会显示播放列表,但没有边栏。所以我现在想在 youtube 播放列表显示旁边添加一个侧边栏。

所以最终的视图应该是这样的:

侧边栏项目应该是下一个视频的缩略图。您应该能够滚动/导航到播放列表中未显示的下一个/上一个视频。当您单击侧边栏项目时,显示的视频应更新为单击的视频,侧边栏应更新为下一个可用的视频。

在 youtube 播放列表侧边栏显示如下:

因此,我们希望仅使用图像缩略图更改该侧边栏。所以 youtube 侧边栏看起来“更干净”。

注意:解决方案只能使用html/css/javascript。

这两个问题问的一样,但这些都是很久以前的事了,iframe 和插件解决方案似乎都不再起作用了。:

编辑:

答案中的示例似乎已过时,here a functional version。 (当然是@Skyrocker 的全部学分)

【问题讨论】:

    标签: javascript html iframe youtube youtube-api


    【解决方案1】:

    您可以YouTube Data API 嵌入带有侧边栏的 YouTube 播放列表,但为此您必须做很多事情。您必须创建一个 Google Developer 帐户才能访问该 API。然后您可以创建您的项目并创建 API 并根据您的需要进行修改。完成所有更改后,启用 YouTube 的 API 服务即可开始使用。

    【讨论】:

      【解决方案2】:

      TL;DR:你必须使用官方Google Youtube API


      不幸的是,不可能使用与iframe 嵌入式 Youtube 相同的“简单”方法。为了能够自定义播放列表的外观,您需要执行几个准备步骤:

      1. 创建一个 google 开发者帐户以接收所需的 API。
      2. 创建project
      3. credentials page - 在标签OAuth 同意屏幕 上填写必填字段并将您的站点域添加到授权域 部分(出于测试目的添加一个https://cdpn.io,但不要忘记稍后将其替换为您的实际站点域)
      4. 再次转到凭据页面 - 创建 API 密钥,将其限制为仅使用 Youtube 数据 API(位于列表的最底部)
      5. 再次转到凭据页面 - 创建 OAuth ClientId。出于测试目的,将 https://cdpn.io 域添加到 Authorized JavaScript origins,但不要忘记稍后将其替换为您的实际站点域
      6. Enable the API Services 用于 Youtube

      然后,在完成此列表中的所有操作后,请参阅codepen example 如何编排此内容。几个要求:

      • 填写 API 密钥变量
      • 基于 Google API 构建的实施需要用户确认才能访问服务。这由您来考虑流程何时 来初始化此确认弹出窗口。

      更新

      确实,你是对的,这些方法可以在没有身份验证的情况下调用。

      Here是你的升级版列表

      【讨论】:

      • 感谢您的解释,但缺少一项重要功能:当您点击缩略图时,播放列表本身应该跳到点击的视频,您知道这是否可能吗?
      • 当然完全有可能:) 但是,它是stackoverflow,你知道吗?)不是Upwork...这里我们提供了关于展示核心概念的有针对性的解决方案如何达到你的需要。
      • @DaanSeuntjens 你能批准这个答案吗?我认为像“状态管理”和“处理点击图像并重新获取数据”之类的东西不在这个主题范围内,而且肯定可以在几个小时内轻松实现......
      • “基于 Google API 构建的实现需要用户确认才能访问服务。这取决于您在何时初始化此确认弹出窗口时考虑流程。” --> 是否可以避免用户需要登录?例如,始终使用我自己的帐户或类似的帐户登录?
      • 当然。完成,在两个示例中
      【解决方案3】:

      实现主页和侧边栏的div,就像你在页面的任何地方嵌入视频一样,添加到侧边栏的div中,没问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-22
        • 2013-02-09
        • 2011-11-25
        • 2011-06-15
        • 1970-01-01
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        相关资源
        最近更新 更多