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

don*_*yor 116 html youtube django video youtube-api

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

在feed中,我有你的YouTube视频,如: https://www.youtube.com/watch?v=A6XUVjK9W4o

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

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

然后我说,好吧,如果我改变watchembed.然后youtube播放器显示,但没有视频,说:

在此处输入代码

有没有人知道我是如何让这个工作的?

我在这样的html中显示:

<iframe width="420" height="315"
    src="{{vid.yt_url}}">
</iframe>
Run Code Online (Sandbox Code Playgroud)

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

Nyi*_*Aye 274

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

<iframe width="420" height="315" src="https://www.youtube.com/embed/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

  • 对于任何想知道的人,其工作原因是因为/ embed端点允许外部请求,而/ watch端点不允许. (126认同)
  • 应该在答案中添加WHY而不仅仅是代码片段...... (17认同)

d1j*_*i1b 45

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

<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

  • 只需将“watch?v=”替换为“embed/” (4认同)

Pop*_*rei 12

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


rii*_*rii 5

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

<iframe width="420" height="315" src="https://www.youtube.com/v/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)