gpt4 book ai didi

asp.net-mvc-4 - IE11 IFrame 内容无法加载

转载 作者:行者123 更新时间:2023-12-02 04:34:23 25 4
gpt4 key购买 nike

我的 IE 再次出现问题。我正在尝试使用 iframe 在模式对话框中显示应用程序的另一个页面。

与 Chrome 和 Firefox 完美配合。然而 IE 显示 iframe 空白。如果我使用开发人员工具检查它,我会看到这一点。

<html>
<head></head>
<body></body>
</html>

例如,如果我将 iframe src 元素更改为 bing.com,则它可以正常工作。我尝试设置position:relative等,但它不起作用。这是 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 相对网址更改为完整网址(不显示)
  • 将 Iframe 网址更改为任何其他网站,(显示)
  • 删除了网页的所有内容,创建了一个 test.html 网页,其中仅包含 iframe 标记,指向具有正确网址的正确页面(显示)

最佳答案

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

问题是我的 Web 应用程序是使用 .NET MVC/Durandal/Breeze 的单页应用程序。由于它是 SPA,因此所有路由都是通过 JavaScript 完成的,并且页面 URL 是在主题标签前缀之后设置的,如下所示 #/resources/info/1

从浏览器的角度来看,此行为会导致所有页面具有相同的 URL。由于 IFrame URL 和当前页面 URL 相同,因此 IE 不会加载它。我解决这个问题的方法是向同一个索引 Controller 添加新的“虚拟”路由。

        System.Web.Routing.RouteTable.Routes.MapRoute(
name: "Iframe",
url: "Iframe/{controller}/{action}/{id}",
defaults: new
{
controller = "HotTowel",
action = "Index",
id = UrlParameter.Optional
}
);

关于asp.net-mvc-4 - IE11 IFrame 内容无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31054830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com