【问题标题】:Resolving IE compatability issues seemingly caused by Microsoft's own software解决看似微软自家软件导致的IE兼容性问题
【发布时间】:2014-02-03 12:21:07
【问题描述】:

我们正在使用基于 ASP.NET 构建的第三方内容管理系统。这些页面似乎在 IE11 上以 IE9 模式显示。我使用 MS IE10 兼容检查器工具http://blogs.msdn.com/b/ie/archive/2012/01/20/ie10-compat-inspector.aspx 尝试找出页面未在 IE10 或 Edge 模式下显示的原因。 (我尝试使用的 HTML5 功能应该在 IE10 或 11 中显示。)该工具给出的唯一警告是关于使用 window.navigator 进行浏览器嗅探的 Javascript。

使用window.navigator 的代码位于名为 webresource.axd 的文件中:

var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);

它本身似乎是 ASP.NET 的一部分。

没有 javascript 警告或错误。这是其中一页: https://secure.wycliffe.org.uk/NetCommunity/SSLPage.aspx?pid=283。这适用于 Windows Server 2003 上的 IIS6。

这可能是 IE9 模式问题的原因吗? (我在文档顶部有<!DOCTYPE html>。)

MS 自己的工具真的在抱怨自己的软件中的不良做法吗?

【问题讨论】:

  • 什么没有显示?这页纸?一个元素?您是否收到 javascript 警告或错误?您的问题可能是由 CSS 引起的吗?我们是否有可能看到这个问题,因为很难从这个描述中排除故障。
  • .net 框架多年来做过各种愚蠢的事情,所以是的,它很可能会在兼容检查器中触发错误。您需要确保您的服务器安装了所有最新的 .net 修补程序,其中包括 .net 浏览器检测代码的 IE10 和 IE11 (etc) 兼容性补丁。谢天谢地,.net 4.5 放弃了浏览器检测功能,转而支持特征检测。请参阅hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx 了解更多信息。
  • @ChrisHardie 我的意思是“为什么页面不显示 IE10 或边缘模式”。我将编辑问题。没有 javascript 警告或错误。我想这可能是由 CSS 引起的。什么样的 CSS 问题会导致它?
  • 你的页眉中是否有X-UA-Compatible 设置为IE9?
  • @OllyHodgson 所有补丁都是最新的。

标签: javascript asp.net internet-explorer


【解决方案1】:

啊哈!这是因为您的服务器正在发送带有X-UA-Compatible 标头的页面,告诉Internet Explorer 使用IE9 模式。

要查看它,请在 IE10 中打开 https://secure.wycliffe.org.uk/NetCommunity/SSLPage.aspx?pid=283,然后按 F12 调出开发者工具。切换到网络选项卡,按开始并刷新页面。加载后,双击第一项,然后切换到“响应标头”选项卡。

您应该在那里看到一个标题:X-UA-Compatible:IE=9

要强制 IE 使用最新的渲染模式,请进入 IIS 配置,找到它的应用位置,然后将其删除,或者将其更改为较新的版本,例如IE=10。或者,IE=edge 将始终使用最新版本的标准模式渲染引擎。请注意,它的存在可能是有原因的!过去,我们不得不使用该标头作为旧版 .net 应用程序中 IE10 问题的短期解决方法。

更多信息请参见MSDN: Defining document compatibility

【讨论】:

  • 谢谢。就是这样。没想到看标题。它没有在 IIS 配置中设置,所以可能是在第三方软件中。但是我能够在 IIS 中指定它,即使两个标头都出现了,IE 似乎注意到了 IE=10 的那个。
  • 这可能是一个愚蠢的问题,但是你用IE11测试了吗? :)
  • 其实是IE11。我会解决这个问题。它甚至应该在 IE10 中显示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 2011-02-21
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多