为什么我的 Youtu.be URL 不能用于视频嵌入?

asb*_*690 3 html youtube

我想在我的网页中嵌入一个 YouTube 视频链接,例如url://youtu.be. 当我将它嵌入我的网页时它没有出现。但是,下面的代码运行良好(url://youtube没有点)。

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

为什么使用“youtu.be”链接没有正确嵌入?

aqu*_*nas 6

因为 youtu.be 是一个 URL 缩短服务。因此,当您访问 you.be URL 时,它所做的只是将您重定向到视频的完整 URL。

编辑,实际上这不是故事的完整结局。当你这样做时会发生什么,它会重定向你,但浏览器会给出一个错误:

“拒绝在框架中显示(视频网址),因为它将‘X-​​Frame-Options’设置为‘SAMEORIGIN’。”

因此,这可以与重定向一起使用,但不能,因为 youtube 发送了此响应

标头:x-frame-options:SAMEORIGIN

所以浏览器拒绝显示它,因为它不是同一个来源(也就是说,它不是来自同一个域)。优酷为什么要这样做?我不知道。但是,基本上,您必须为 iframe 提供 youtube.com/embed 样式 URL。如果您有 youtu.be 格式的 URL(可能在您的数据库或其他内容中),那么您需要点击 youtu.be 链接,然后查看它要将您重定向到的位置,然后为您的 iframe 使用该链接。

  • 好吧,*可能*你需要做的就是`var url = "youtu.be/4pXUcxWLA7g"; url = url.replace("youtu.be","youtube.com/embed")` (7认同)