【问题标题】:Asp.Net MVC site not showing in iFrameAsp.Net MVC 站点未在 iFrame 中显示
【发布时间】:2014-04-11 15:23:30
【问题描述】:

我的 ASP.Net 网页网站运行良好(它是人们链接到的预订应用程序 - 托管服务)。

有些人只是允许我的网站/应用程序的链接在新窗口中打开。其他人将其嵌入到他们网站上的 IFrame 中。

我已开始将其更新为 MVC - 但是,MVC 版本不再适用于 IFrame。

在 IIS7.5 或 MVC 的控制器中,有什么方法可以让我的应用程序/网站在 iFrame 中显示?

谢谢,

标记

【问题讨论】:

  • 你有一个例子说明它正在做什么或没有做什么?你有错误吗?我想不出任何理由让服务器端技术(WebForms 与 MVC)产生任何影响。
  • MVC 是否会自动为您设置 X-Frame-Options 响应标头?
  • 嗨 - 没有错误 - 查看 MVC 版本时,iframe 窗口只是空白。此外,没有设置 X-Frame-Options 标头 - 我也检查了,谢谢。
  • @MarkTait 你是怎么解决的?

标签: c# asp.net-mvc asp.net-mvc-4 iframe


【解决方案1】:

你试过吗?下面的链接声称如果 iframe 的源站点具有以下 css,则会生成一个空白 iframe。

html{ position: relative; }

Blank iFrame in IE

我之前在 MVC 应用程序中使用过 iframe,因此它们确实有效。但是,我只在同一个域中使用过它们。

【讨论】:

  • 嗨 - 感谢您的建议。这是在 Chrome 和不同的域中,所以可能是某种内置的安全功能。
【解决方案2】:

看起来 Microsoft.NET 更新了 MVC 以自动写出 SAMEORIGIN X-Frame-Option 标头,该标头将取代您添加自己的自定义标头的任何尝试。

另一个 Stack Overflow 答案给了我解决方案:

      After update to MVC 5, iframe no longer works

还有一篇博文详细介绍了这个问题:

      MVC5 prevents your website being loaded in an IFRAME

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2020-06-25
    相关资源
    最近更新 更多