嵌入youtube视频 - 拒绝在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'[重复]

问题描述 投票:102回答:5

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

在feed内,我有你的YouTube视频与网址:https://www.youtube.com/watch?v=A6XUVjK9W4o

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

拒绝在框架中显示'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>

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

html django video youtube youtube-api
5个回答
232
投票

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

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

43
投票

src中的Youtube url必须拥有并使用embed端点而不是watch所以例如,假设你想要嵌入这个youtube视频https://www.youtube.com/watch?v=P6N9782MzFQ(浏览器的url)你应该使用embed端点所以url现在应该像https://www.youtube.com/embed/P6N9782MzFQ,使用这个值作为url在HTML代码中iframe标记内的src属性中,例如:

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

所以只需用https://www.youtube.com/watch?v=替换https://www.youtube.com/embed/,当然在此示例中检查您的视频ID我的视频ID是P6N9782MzFQ


11
投票

您只需要从youtube Embed部分复制(点击视频下面的SHARE然后再嵌入并复制整个iframe)


1
投票

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

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

0
投票

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

<iframe width="1280" height="720" src="https://www.youtube.com/embed/4u856utdR94" frameborder="0" allowfullscreen></iframe>
© www.soinside.com 2019 - 2024. All rights reserved.