Browser IE8根据浏览器模式以不同的方式呈现网页,即使文档模式是固定的-Intranet站点

Browser IE8根据浏览器模式以不同的方式呈现网页,即使文档模式是固定的-Intranet站点,browser,internet-explorer-8,mode,Browser,Internet Explorer 8,Mode,我发现IE8根据浏览器模式呈现不同的网页,尽管文档模式总是设置为相同的。这是IE8错误吗 背景是: IE8(SOE的一部分)正在查看的公司内部网 兼容性设置中勾选了“在兼容模式下显示Intranet站点” 我正在使用元标记方法强制内部网页面的文档模式: 这将导致浏览器模式设置为IE8 Compat,文档模式设置为IE8 Standards 到目前为止,一切都很好,没有任何问题,页面布局如我所料,等等 就在最近添加了一些功能(在此阶段我不想说什么-问题是关于页面呈现模式),页面布局不正确。在开

我发现IE8根据浏览器模式呈现不同的网页,尽管文档模式总是设置为相同的。这是IE8错误吗

背景是:

  • IE8(SOE的一部分)正在查看的公司内部网
  • 兼容性设置中勾选了“在兼容模式下显示Intranet站点”
  • 我正在使用元标记方法强制内部网页面的文档模式:
  • 这将导致浏览器模式设置为IE8 Compat,文档模式设置为IE8 Standards
到目前为止,一切都很好,没有任何问题,页面布局如我所料,等等

就在最近添加了一些功能(在此阶段我不想说什么-问题是关于页面呈现模式),页面布局不正确。在开发者工具栏中将浏览器模式更改为IE8(或取消兼容性视图设置中的锁定)可以修复布局问题。这让我很惊讶,因为文档模式没有改变

因此,要重新设置组合的上限:

  • Broswer模式=IE8兼容,文档模式=IE8标准
  • Broswer模式=IE8,文档模式=IE8标准
    [works]
文档模式是相同的,唯一改变的是浏览器模式。我认为文档模式是唯一会影响页面呈现的模式,而浏览器模式基本上只会影响请求中发送的UA字符串。我是对的,还是错了?如果我是正确的,那么一旦确定了文档模式,浏览器模式应该对渲染没有任何影响。这是IE8中的错误吗?还是我错了?即使使用相同的文档模式,浏览器模式是否也会影响渲染

限制:

  • 我无法控制在所有用户的兼容性视图设置中取消选中兼容性视图中的显示内部网(公司内部网,我们有其他遗留应用程序,需要进行太多测试以确保它们都在标准模式下工作,永远不会获得进行此类全球更改的批准)
  • 我没有为所有用户升级浏览器的选项。我们刚刚完成了一个6个多月的从IE6升级到IE8的项目
      我意识到这是一个非常古老的问题,但如果它对任何人都有帮助:

      根据问题,浏览器模式“只是”设置用户代理字符串。但是,由于在评估IE条件注释时使用此值,因此如果(a)任何代码直接针对UA字符串进行测试,或者(b)代码中存在IE条件注释,浏览器模式可能会影响渲染


      IE8 Compat的浏览器模式通常会计算为
      MSIE 7.0
      的UA字符串,因此如果您有任何条件注释检查
      ,例如lt IE8
      ,这可能是您的问题的根源。

      谢谢-问题出在一些供应商代码上,但我确实发现是基于UA字符串在body标记上设置了类,正如您所说,这会导致一些奇怪的行为。感谢您确认浏览器模式的确切功能。