【问题标题】:Embed YouTube video - Refused to display in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN' [duplicate]嵌入 YouTube 视频 - 拒绝显示在框架中,因为它将“X-Frame-Options”设置为“SAMEORIGIN”[重复]
【发布时间】:2014-10-28 22:47:16
【问题描述】:

我正在尝试用我从其他地方获得的一些资源来提供我的 Django 页面。

在提要中,我有一些 YouTube 视频,其 URL 如下:https://www.youtube.com/watch?v=A6XUVjK9W4o

一旦我将它添加到我的页面中,视频就不会显示,说:

拒绝在 a 中显示“https://www.youtube.com/watch?v=A6XUVjK9W4o” 框架,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。

然后我说,好吧,如果我将watch 更改为embed 会怎样。然后YouTube播放器出现,但没有视频,说:

我怎样才能让它工作?

我在 HTML 中显示它是这样的:

<iframe width="420" height="315"
    src="{{vid.yt_url}}">
</iframe>

我用谷歌搜索了将近一个小时,但没有成功的迹象。我试图附加 &amp;output=embed - nada...

【问题讨论】:

标签: html django video youtube youtube-api


【解决方案1】:

您必须确保 URL 包含 embed 而不是 watch,因为 /embed 端点允许外部请求,而 /watch 端点则不允许。

<iframe width="420" height="315" src="https://www.youtube.com/embed/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>

【讨论】:

  • 对于任何想知道的人来说,这是因为 /embed 端点允许外部请求,而 /watch 端点则不允许。
  • 真的应该在答案中添加一个 WHY 而不仅仅是一段代码......
  • @NyiMaLayWinLaeAye 但是如果我的视频 src 是动态的呢?我被困在这一点上
  • 我尝试使用从我想要嵌入的视频的地址栏中复制的“youtu.be”链接——是的,我将手表更改为嵌入——但它不喜欢那样.我更改为 youtube.com + 路径并且它起作用了。
【解决方案2】:

您只需从 YouTube Embed 部分复制

【讨论】:

  • 这个解决方案更清晰
  • 谢谢。一个简单的答案是一个更好的答案
【解决方案3】:

除了嵌入之外,我还必须在浏览器中安装 Google Cast 扩展程序。

<iframe width="1280" height="720" src="https://www.youtube.com/embed/4u856utdR94" frameborder="0" allowfullscreen></iframe>

【讨论】:

    【解决方案4】:

    如果嵌入不再适合您,请尝试使用/v

    <iframe width="420" height="315" src="https://www.youtube.com/v/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>
    

    【讨论】:

      【解决方案5】:

      src 中的 YouTube URL 必须具有并使用 embed 端点而不是 watch,例如,假设您要嵌入此 YouTube 视频:https://www.youtube.com/watch?v=P6N9782MzFQ(浏览器的 URL)。

      您应该使用 embed 端点,因此 URL 现在应该类似于 https://www.youtube.com/embed/P6N9782MzFQ。将此值用作 HTML 代码中 iframe 标记内 src 属性中的 URL,例如:

      &lt;iframe width="853" height="480" src="https://www.youtube.com/embed/P6N9782MzFQ" frameborder="0" allowfullscreen ng-show="showvideo"&gt;&lt;/iframe&gt;

      所以只需将https://www.youtube.com/watch?v= 替换为https://www.youtube.com/embed/,当然还要检查您的视频ID。在这个示例中,我的视频 ID 是 P6N9782MzFQ

      【讨论】:

      • 谢谢!这行得通.. 最多票没用 为什么是绿色投票?.. 这应该是!..​​
      • 只需将“watch?v=”替换为“embed/”
      猜你喜欢
      • 2013-12-28
      • 2016-07-13
      • 2017-05-22
      • 2022-11-29
      • 1970-01-01
      • 2016-10-08
      • 2018-02-22
      相关资源
      最近更新 更多