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>

编辑:我已采取的解决此问题的步骤和结果:

我发现了这个问题以及如何解决它。

问题是我的 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
            }
        );