【问题标题】:AJAX and YouTube: 'X-Frame-Options' to 'SAMEORIGIN'.AJAX 和 YouTube:从“X-Frame-Options”到“SAMEORIGIN”。
【发布时间】:2013-08-10 19:15:03
【问题描述】:

我正在编写一个通过 jQuery 动态加载内容的网站。这样做的原因是让音频播放器保持运行,同时无需刷新即可浏览页面内容。

在尝试让 YouTube 视频正常工作时遇到了麻烦,它的设置是这样的。

网站内容是使用 .load() 加载的,对于视频页面,它包含指向 YouTube 视频的链接的无序列表,每个链接都有一个空的 <div> 用于<iframe>。点击链接会增加<li> 并将<iframe> 嵌入到视频中。

一切正常,除了<iframe> 不会加载源,抛出这个错误。

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

还尝试将 <iframe> 添加到 <li>display: none; 中,结果相同。

我以为我理解了 javascript 相同的域策略,但这超出了我的范围。谷歌搜索错误让我相信这是服务器端的东西?但这没有任何意义。

很难摆弄这样的事情,希望它有意义。

【问题讨论】:

    标签: jquery ajax iframe youtube


    【解决方案1】:

    该错误意味着该文档只能用作位于 www.youtube.com 的文档中的 iframe

    改用嵌入代码的 URL:

    http://www.youtube.com/embed/myvideo
    

    它将发送一个X-Frame-Options-header,其值为ALLOWALL

    【讨论】:

    • 我不明白你想用这个新网址传达什么。 embed/myvideo 是一个示例 url,但我是否应该用嵌入替换 watch?v,然后输入 URL 的其余部分?
    【解决方案2】:

    您只需要从 Youtube Embed 部分复制(点击视频下方的 SHARE,然后 EMBED 并复制整个 iframe)。您不能直接从 url 添加 youtube 链接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 2018-05-27
      • 2016-07-12
      • 2016-01-11
      相关资源
      最近更新 更多