【问题标题】:IFrame: This content cannot be displayed in a frameIFrame:此内容无法在框架中显示
【发布时间】:2012-12-17 23:04:47
【问题描述】:

我有两个内部站点。我正在尝试在另一个站点的 iframe 中显示一个人的内容。但是我收到此消息:“此内容无法显示在框架中。”我已经阅读了收到此消息的原因,但是我想绕过它,因为这些站点是内部的,我不担心有人试图劫持我的用户。在搜索互联网后我找不到绕过它的方法,但感觉应该是可能的,因为消息的其余部分似乎暗示了它。

“为帮助保护您输入本网站的信息的安全性,此内容的发布者不允许将其显示在框架中。”

既然我是发布者,我怎么能让它显示在框架中?谢谢!

【问题讨论】:

  • 这些站点是否属于某个其他系统(即某种 CMS),如果是,那么它可能是该系统的配置吗?否则,内部站点是否托管在不同的域上,如果是,iframe 站点是否具有 X-Frame-Options:SAMEORIGIN 标头?
  • @freefaller,感谢您的回复!我应该在哪里设置X-Frame-Options
  • 这是一个标头值,不是 HTML 的一部分,因此您需要查看 Response.AddHeader。该值旨在阻止在 iframe 中使用网站...谷歌(例如)这样做是为了阻止您创建全尺寸 iframe 并假装它们实际上是您的网站。老实说,我的猜测是与它无关,但看看this for more information
  • 在 html 源代码中查看以找到:
  • 对于那些在 SharePoint 2013 中遇到此问题的用户:IFraming SharePoint-hosted pages in apps ...我尚未测试将“AllowingFraming”组件添加到母版页的解决方案。

标签: asp.net html vb.net iframe


【解决方案1】:

在真正有效的锚标记中使用target="_top" 属性。

【讨论】:

    【解决方案2】:

    X-Frame-Options 是在 Http Header 中定义的,而不是在您要在 iframe 中使用的页面的 <head> 部分中。

    接受的值为:DENY、SAMEORIGIN 和 ALLOW-FROM "url"

    【讨论】:

      【解决方案3】:

      使用<meta http-equiv="X-Frame-Options" content="allow"> 在 iframe 中显示以允许它。

      【讨论】:

      • 你是把这个标签加到包含内容的页面上,还是加到包含框架的页面上?
      • @AdamDenon 包含内容的页面。
      • 对我不起作用,我正在尝试在 iframe 中显示 google.com
      • @AbeerSul 只有可以控制 iframe 中显示的网页,我猜 google 的情况并非如此。跨度>
      • 每个 MDN:注意:设置元标记是没有用的!例如, 没有效果。不要使用它!只有像下面的例子一样通过 HTTP 头设置,X-Frame-Options 才能工作。
      猜你喜欢
      • 1970-01-01
      • 2017-07-11
      • 2020-08-19
      • 1970-01-01
      • 2020-03-30
      • 2012-05-07
      • 1970-01-01
      • 2020-09-12
      相关资源
      最近更新 更多