【问题标题】:Disable Compatibility View Through Code In IE?通过 IE 中的代码禁用兼容性视图?
【发布时间】:2012-01-28 20:24:09
【问题描述】:

出于某种原因,我最好调用一个 doctype,最好是 XHTML 1.0 过渡,并且出于某种原因,每次我在 Internet Explorer 中打开它时都会得到...

浏览器模式:IE9 兼容视图
文档模式:IE7标准

我什至会在头部标签的开头包含我的文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>

是的,我确实关闭了 &lt;body&gt;&lt;html&gt;

有什么想法吗?

【问题讨论】:

  • 您是否使用验证器检查过标记本身实际上是否符合要求?
  • 看看这个Wikipedia article。我认为这是正确的做法。您的 html 元素看起来像第一个示例的吗?
  • @JaredFarrish,好主意。这是the W3C's validator。但这并不意味着 MS 会遵守它。将整个页面粘贴到直接输入中,或提供链接。
  • @JaredFarrish:是的,我有,通过 W3C。

标签: html css internet-explorer standards


【解决方案1】:

这是您要查找的文档: http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

包含此内容,IE 将呈现为 IE9 模式:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

【讨论】:

  • IE=Edge 更好,这将确保它在未来版本中以最符合标准的模式呈现。
  • @Sologoub:太棒了,这就是我想做的,但我怎么知道如果在 Internet Explorer 7 中查看网页,它会在 Internet Explorer 7 标准中查看它?与 Internet Explorer 8 一样吗?甚至更高版本的 Internet Explorer?谢谢! :)
  • @AaronBrewer - 如果您使用我提到的 IE=Edge,就会出现这种情况。
  • 我建议@Sologoub 编辑答案,包括边缘选项并用 /> 关闭元标记
  • 元标签只有在使用 xhtml 时才应该关闭,在 html 中它们应该是未关闭的(尽管 html5 允许两者)。
【解决方案2】:

默认情况下,IE 将以兼容模式呈现与客户端位于同一子网的网站。您可以通过转到工具->兼容性视图设置并取消选中以兼容模式显示 Intranet 站点来关闭 IE 中的此功能,或者通过包含 Sologoub 提到的元标记来解决此问题。

【讨论】:

  • @AaronBrewer - 显然你没有阅读我信息的最后一部分,它建议使用元标记。
  • 抱歉,我没有充分理解您的回答。非常感谢您的帮助!
  • 刚刚遇到这个答案试图解决同样的问题。任何想法为什么 IE 行为默认这种方式?我们有 100 台最近升级到 Windows 7 的电脑,我可以预见一些问题。
  • @Moo-Juice - 这不是在 Windows 7 中引入的。它是在 Vista 和 IE7 中引入的。原因是,当时,大多数企业客户需要他们的网站默认为兼容性视图才能正常工作。还有一个组策略设置可以控制这一点。见social.technet.microsoft.com/Forums/ie/en-US/…
【解决方案3】:

我也有这个问题。我找到了解决方案:

在标题 HTML 中插入元标记:

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>

并设置等效标题:

header('X-UA-Compatible: IE=Edge');

或者,如果您使用 Zend 框架(或任何与此相关的框架),类似这样的东西就可以了 Zend_Controller_Front::getInstance()->getResponse()->setHeader('X-UA-Compatible', 'IE=Edge');

此链接中的解决方案:

http://www.enrise.com/2012/03/internet-explorer-9-compatibility-view-list/

谢谢。

【讨论】:

    【解决方案4】:

    有时您需要更全面一些,以便针对所有可能的用户覆盖。当然对于像 Meteor 这样的单页应用程序:

    <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE; Chrome=1" />
    

    希望这会有所帮助。

    【讨论】:

    • 很高兴知道您指定了多个版本。
    猜你喜欢
    • 2011-09-14
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    相关资源
    最近更新 更多