【问题标题】:IE11 shows a blank pageIE11 显示空白页
【发布时间】:2013-12-06 22:14:22
【问题描述】:

我们的 asp.net 3.5 Web 应用程序在 IE11 中显示一个空白页面。然而,该页面在 IE8 到 IE10 中呈现良好。我打开了 Fiddler,它显示 IIS 7.0 网络服务器返回了完整的 HTML,但是 IE11 在尝试呈现 html 时失败。在“兼容性视图设置”中将站点添加为 Intranet 站点可使站点正常工作。我可以在我的网络服务器或 ASP.Net 应用程序端做些什么来确保应用程序在所有 IE 浏览器中都能正常呈现。我花了几天时间在不同的网站上寻找答案,但无济于事。 这是提琴手的最新原始回复: https://drive.google.com/file/d/0BxQo8ldaJK3ydmpVQnp2bU5RcTg/edit?usp=sharing

【问题讨论】:

  • 是内网站点吗?那么可能是兼容性视图有问题。在“工具”>“兼容性视图设置”>“在兼容性视图中显示 Intranet 站点”中检查浏览器的设置(或类似的,如果 IE,我只有德语版本)。
  • 您应该隔离故障排除代码,并将其作为可重现的 sn-p 包含在您的问题中。即使链接的来源不可用,这也会更好地为未来的访问者服务。
  • @Teemu,我附上了来自提琴手的原始 html 响应的链接。当我在客户端浏览器的“兼容性视图设置”中添加站点时,该站点也可以正常工作,但我无法控制我们的客户端使用的浏览器。我正在研究缩小问题的范围。
  • IIS 一直存在无法正确识别现代版本 Internet Explorer 的问题。我会考虑应用他们的一些补丁,看看这是否可以为您解决问题:请参阅msdn.microsoft.com/en-us/library/ie/hh869299(v=vs.85).aspx
  • 感谢@Jonathan Sampson:这些补丁尚未应用于我们的 IIS 6.0 和 .Net 4.0 服务器。一旦应用这些,我将在此处更新我们的测试结果。

标签: asp.net internet-explorer w3c-validation


【解决方案1】:

按 F12 并查看标记是否实际呈现。检查样式等。看看是否有任何东西隐藏了您的标记。使用网络瀑布选项卡(像提琴手一样工作)检查请求,查找任何 4XX 或 5XX 响应。检查控制台是否记录了任何错误。

您的 DOCTYPE 是什么?它应该看起来像这样:

<!DOCTYPE html>

如果没有,您可能会跳到 Quirks 模式。

你还在做任何浏览器嗅探吗?如果是这样,请停止。

【讨论】:

  • 呈现的文档类型是 。我不记得在控制台中看到任何 4xx 或 5xx 页面或错误,但我会重新检查。该样式应该没有任何问题,因为该页面适用于其他 IE 浏览器。我们在应用程序中进行一些浏览器嗅探以重定向到应用程序的移动版本,但所有这些都发生在系统尝试错误地呈现页面之前。顺便说一句,如果我在“兼容性视图设置”中将该站点添加为 Intranet 站点,那么该站点可以正常工作。
  • 在显示 DOCTYPE 的情况下试一试。另外,您在 F12 工具中看到了什么?
  • 如果我按照您的建议更改 DocType,我会收到不同的错误。如果我修复了一个错误,就会出现另一个错误。例如:“结束标签必须匹配相应的开始标签名称”、“不正确的注释语法”、“指定的实体尚未声明”。我在   附近得到最后一个错误我不能告诉 IE11 像以前在以前的 IE 浏览器中呈现的那样呈现应用程序。在 IE11 的“兼容性视图设置”中将站点添加为内网站点,使站点工作正常。
  • 使用您为其构建应用程序的 IE 版本添加此标签,。但我强烈建议您解决应用程序的真正问题,因为将自己与过去紧密耦合并不是一个好主意。听起来你有很多糟糕的 HTML 格式等,确实需要解决。
  • 感谢@Chris Love=> 添加标签至少允许应用程序部分呈现自己,但你是对的。我们有很多格式不正确的 HTML 需要解决。
【解决方案2】:

我们使用已弃用的 Microsoft Mobile Toolkit 来检测移动设备。因此,IE11 将页面的 ContentType 检测为“text/xml”而不是“text/html”。我决定在我们的 aspx 页面的基本页面中执行以下操作,而不是使用其他东西来检测移动设备:

 protected override void OnPreInit(EventArgs e)
        {
            base.OnPreInit(e);

            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.ContentType = "text/html";

        }

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 2021-01-10
    • 2014-07-19
    • 2015-06-06
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多