IE11 IFrame 内容不加载
IE11 IFrame contents does not load
我再次遇到 IE 问题。我正在尝试使用 iframe 在模态对话框中显示我的应用程序的另一页。
与 chrome 和 firefox 完美配合。然而,IE 显示 iframe 空白。如果我用开发者工具检查它,我会看到这个。
<html>
<head></head>
<body></body>
</html>
例如,如果我将 iframe src 元素更改为 bing.com,它就可以正常工作。我试图设置位置:相对等。它不起作用。这是 iframe 标记:
<iframe height="710" id="trackingtableIframe" src="https://localhost:44300/#resources/1174/info?iframe=true" style="border: currentColor; border-image: none; width: 100%;"></iframe>
编辑:我已采取的解决此问题的步骤和结果:
- 删除了 Iframe 的所有动态生成,(不显示)
- 自 HTTPS 以来安装站点证书,(不显示)
- 将 Iframe 相对 URL 更改为完整 URL,(不显示)
- 将 Iframe URL 更改为任何其他站点,(显示)
- 剥离了我网页的所有内容,创建了一个 test.html 网页,其中只有 iframe 标记指向正确的页面 URL(显示)
我发现了这个问题以及如何解决它。
问题是我的 Web 应用程序是一个使用 .NET 的单页应用程序 MVC/Durandal/Breeze。由于它是一个 SPA,所有路由都已完成 javascript,并且页面 URL 是在标签前缀之后设置的,就像这样 #/resources/info/1
从浏览器的角度来看,此行为会导致所有页面具有相同的 URL。由于 IFrame URL 和当前页面 URL 相同,IE 未加载它。添加一个新的 "virtual" 路由到同一个索引控制器是我解决这个问题的方法。
System.Web.Routing.RouteTable.Routes.MapRoute(
name: "Iframe",
url: "Iframe/{controller}/{action}/{id}",
defaults: new
{
controller = "HotTowel",
action = "Index",
id = UrlParameter.Optional
}
);
我再次遇到 IE 问题。我正在尝试使用 iframe 在模态对话框中显示我的应用程序的另一页。
与 chrome 和 firefox 完美配合。然而,IE 显示 iframe 空白。如果我用开发者工具检查它,我会看到这个。
<html>
<head></head>
<body></body>
</html>
例如,如果我将 iframe src 元素更改为 bing.com,它就可以正常工作。我试图设置位置:相对等。它不起作用。这是 iframe 标记:
<iframe height="710" id="trackingtableIframe" src="https://localhost:44300/#resources/1174/info?iframe=true" style="border: currentColor; border-image: none; width: 100%;"></iframe>
编辑:我已采取的解决此问题的步骤和结果:
- 删除了 Iframe 的所有动态生成,(不显示)
- 自 HTTPS 以来安装站点证书,(不显示)
- 将 Iframe 相对 URL 更改为完整 URL,(不显示)
- 将 Iframe URL 更改为任何其他站点,(显示)
- 剥离了我网页的所有内容,创建了一个 test.html 网页,其中只有 iframe 标记指向正确的页面 URL(显示)
我发现了这个问题以及如何解决它。
问题是我的 Web 应用程序是一个使用 .NET 的单页应用程序 MVC/Durandal/Breeze。由于它是一个 SPA,所有路由都已完成 javascript,并且页面 URL 是在标签前缀之后设置的,就像这样 #/resources/info/1
从浏览器的角度来看,此行为会导致所有页面具有相同的 URL。由于 IFrame URL 和当前页面 URL 相同,IE 未加载它。添加一个新的 "virtual" 路由到同一个索引控制器是我解决这个问题的方法。
System.Web.Routing.RouteTable.Routes.MapRoute(
name: "Iframe",
url: "Iframe/{controller}/{action}/{id}",
defaults: new
{
controller = "HotTowel",
action = "Index",
id = UrlParameter.Optional
}
);