IE10 iFrame加载页面但不显示

时间:2014-07-14 15:00:41

标签: html internet-explorer iframe

我正在尝试设置一个iFrame来显示我们公司内另一个域的表单。在Chrome或Firefox中测试它可以正常工作。

问题是,对于IE 10,浏览器不是显示表单,而是在iFrame中显示空白页。

我已将其分解为桌面上非常简单的test.html。开发人员的工具显示网络呼叫不仅有效 - 但它会注册加载我试图呼叫的页面中包含的文件。我甚至在表单的javascript触发中看到了调试语句,并且ajax调用正在运行。但是iFrame仍然显示空白。

我一直在追捕,无法弄清楚如何使这项工作。

主叫页面有:

<!doctype html>

...

<DIV><iframe height="400" width="100%" src="http://my.domain.com/myForm?userName=clicky&email=cMcTesterton@domain.com"></iframe></DIV>

被调用的页面有前两行:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!doctype html>

当然,改为

<!doctype html>

我正在使用网址绑定,所以没有扩展可言。 我进入了IE Internet Options - &gt; Security - &gt; Custom level ... - &gt; miscellaneous启用Launching Programs and files in an IFRAMENavigate windows and frames across different domains

我甚至无法弄清楚还有什么可以寻找的。特别让我感到困惑的是,根据控制台,它必须阅读我试图提出的页面。它只是没有显示出来。

1 个答案:

答案 0 :(得分:0)

您必须配置(1)您的网站http://my.domain.com或(2)网站http://my.domain.com中的网页,以发送X-Frame-Options元标记。

X-Frame-Options元标记基本上是一个提示,告诉浏览器在iframe中呈现页面是安全的。

选项1 - 将您的网络服务器配置为发送X-Frame-Options元标记

<system.webServer>
  ...

  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="ALLOW-FROM http://my.otherdomain.com" />
    </customHeaders>
  </httpProtocol>

  ...
</system.webServer>

选项2 - 配置您的网页(src="http://my.domain.com/myForm?userName=clicky&email=cMcTesterton@domain.com"引用的网页)以发送X-Frame-Options元标记

<head>
    <meta name="X-Frame-Options" content="ALLOW-FROM http://my.otherdomain.com">
    ....
</head> 

Source