iframe 拒绝显示

我正在尝试将一个简单的 iframe 加载到我的一个网页中,但它没有显示。我在 Chrome 中收到此错误:

Refused to display 'https://cw.na1.hgncloud.com/crossmatch/index.do' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https://cw.na1.hgncloud.com".

Invalid 'X-Frame-Options' header encountered when loading 'https://cw.na1.hgncloud.com/crossmatch/index.do': 'ALLOW-FROM https://cw.na1.hgncloud.com' is not a recognized directive. The header will be ignored.

这是我的 iframe 的代码:

<p><iframe src="https://cw.na1.hgncloud.com/crossmatch/" width="680" height="500" frameborder="0"></iframe></p>

我不太确定那是什么意思。我之前已经加载了很多 iframe 并且从未收到过此类错误。

有任何想法吗?

stack overflow iframe refuses to display
原文答案
author avatar

接受的答案

这意味着位于 cw.na1.hgncloud.com 的 http 服务器发送一些 http 标头来告诉像 Chrome 这样的网络浏览器允许 iframe 加载该页面 ( https://cw.na1.hgncloud.com/crossmatch/ ) 仅从托管在同一域 (cw.na1.hgncloud. com):

Content-Security-Policy: frame-ancestors 'self' https://cw.na1.hgncloud.com
X-Frame-Options: ALLOW-FROM https://cw.na1.hgncloud.com

你应该阅读:


答案:

作者头像

错误的原因是 https://cw.na1.hgncloud.com 的主机服务器提供了一些 HTTP 标头来保护文档。其中之一是框架祖先必须来自与原始内容相同的域。您似乎正试图将 iframe 放置在与 iframe 内容不同的域位置 - 因此违反了主机设置的内容安全策略。

查看 Content Security Policy 上的此链接以获取更多详细信息。

作者头像

对于任何为您的 IFRAME 回调到同一服务器的人,请在 IFRAME 页面内传递这个简单的标头:

Content-Security-Policy: frame-ancestors 'self'

或者,将其添加到您的 Web 服务器的 CSP 配置中。

作者头像

我出现同一问题,不要在私人窗口中打开页面。

如果需要与不同的用户登录,则可以使用多个浏览器。

作者头像

在我的例子中,我嵌入的网站有一个用于嵌入内容的特定 url 和一个用于共享的不同 url

我在 iframe 中设置的网址是

https://site/share/2432423232

改成

https://site/embed/2432423232

为我工作