我正在尝试设置一个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 IFRAME
和Navigate windows and frames across different domains
我甚至无法弄清楚还有什么可以寻找的。特别让我感到困惑的是,根据控制台,它必须阅读我试图提出的页面。它只是没有显示出来。
答案 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>