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

在提要中,我有YouTube视频,URL是:https://www.youtube.com/watch?v=A6XUVjK9W4o

当我把这个添加到我的页面时,视频没有显示出来,它说:

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

然后我说,好吧,如果我把手表改成嵌入呢。然后YouTube播放器出现了,但没有视频,说:

我怎样才能让它工作呢?

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

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

我在谷歌上搜索了将近一个小时,但没有任何成功的迹象。我尝试添加&output=embed - nada…


当前回答

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

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

其他回答

如果embed不再为你工作,尝试用/v代替:

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

你只需要从YouTube嵌入部分复制<iframe>(点击视频下面的共享,然后嵌入并复制整个iframe)。

除了嵌入,我还必须在浏览器中安装谷歌Cast扩展。

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

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

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

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

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

<iframe 宽度=“853” 高度=“480” src=“https://www.youtube.com/embed/P6N9782MzFQ” 帧边框=“0” 允许全屏 ng-show=“showvideo”></iframe>

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