我再次遇到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>
编辑:我采取的步骤解决了这个问题和结果:
答案 0 :(得分:1)
我发现了这个问题,以及如何解决它。
问题是我的Web应用程序是使用.NET MVC / Durandal / Breeze的单页面应用程序。由于它是一个SPA,所有的路由都是javascript和页面URL设置在这样的#标签前缀#/ resources / info / 1
之后此行为导致所有页面从浏览器角度看具有相同的URL。由于IFrame URL和当前页面URL相同,因此IE未加载它。向同一个索引控制器添加新的“虚拟”路由是我解决这个问题的方法。
System.Web.Routing.RouteTable.Routes.MapRoute(
name: "Iframe",
url: "Iframe/{controller}/{action}/{id}",
defaults: new
{
controller = "HotTowel",
action = "Index",
id = UrlParameter.Optional
}
);