24

我有两个问题:

  1. 如何强制 IE10 以 IE9 文档模式呈现?目前它以标准文档模式呈现我的页面。

  2. 在IE10的开发者工具栏中,看不到IE10的文档模式选项。是没有实现,还是我的浏览器版本过时了?

感谢你的帮助。


编辑:感谢大家提供的解决方案。之前我使用元标记 <meta http-equiv="x-ua-compatible" content="IE=edge" > 只是为了确保 IE 将以最高文档模式呈现页面,但我在 IE10 标准模式下遇到了一些问题,所以我更改了元标记以在 IE9 模式下呈现页面: <meta http-equiv="x-ua-compatible" content="IE=9" >.

4

9 回答 9

32

您应该可以使用X-UA 元标记来做到这一点:

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

但是,如果您发现自己必须这样做,那么您可能做错了什么,应该看看您在做什么,看看您是否可以用不同/更好的方式来做。

于 2013-01-17T15:45:30.460 回答
9

您的意思是要告诉您的 IE 10 副本以 IE 9 模式呈现它查看的页面吗?

还是您的意思是您希望您的网站强制 IE 10 以 IE 9 模式呈现它?

对于前者:

要强制您在 Internet Explorer 10 中查看的网页进入特定的文档兼容模式,请先按 F12 键打开 F12 工具。然后,在Browser Mode菜单上,单击Internet Explorer 10,然后在Document Mode菜单上,单击Standards

http://msdn.microsoft.com/en-gb/library/ie/hh920756(v=vs.85).aspx

对于后者,其他答案是正确的,但我不建议这样做。IE 10 比 IE 9 更符合标准(即更类似于其他浏览器)。

于 2013-01-17T15:50:21.390 回答
8

如果您只想对自己的系统进行更改,您可以调整注册表。如果您有 IE10 并且您访问的许多网站在 IE10 中无法正常呈现,那么您可以调整您的注册表以强制 IE 在 IE9 模式下打开。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

创建一个 DWORD asiexplore.exe并赋予 value 9999。重新启动您的 IE,它将以 IE9 模式打开 :)

感谢我的同事 Sreejith D :)

于 2013-04-16T09:01:50.073 回答
8

我以前从未见过这样做,但这是在使用 IE 9 时模拟 IE 8/7 的方式:

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

如果没有,那么试试这个:

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

将这些与其他元标记一起添加到您的标题中。这应该强制 IE10 呈现为 IE9。

您可以做的另一个选择(假设您使用的是 PHP)是将其添加到您的.htaccess文件中:

Header set X-UA-Compatible "IE=9"

这将普遍执行该操作,而不必担心将元标记添加到所有标题中。

于 2013-01-17T15:44:37.537 回答
3

按照这个说法,IE10(无论如何,这篇文章是指预览版)它X-UA-Compatible 只能在文档处于怪癖模式(否DOCTYPE)时使用,否则 IE10 不会对请求做出反应。

这是一段摘录:

因此,要使 IE10 对 X-UA-Compatible 指令做出反应,必须根据 HTML5 的规则创建一个触发 quirks-mode 的页面(即:一个没有 doctype 的页面)。也可以将指令作为 HTTP 标头发送,但是:如果您使用 HTTP 发送的指令来降级渲染,它似乎没有效果——它只能用于升级渲染

因此,您必须使用开发人员工具或使用 quirks 模式手动完成(但我建议保持 IE10 模式,这是第一次与其他浏览器的标准保持一致)

编辑:以下是一些有用的阅读链接:

http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

http://blogs.msdn.com/b/ie/archive/2011/12/14/interoperable-html5-quirks-mode-in-ie10.aspx

于 2013-01-17T15:54:42.123 回答
2

您可以通过添加以下内容强制 IE10 以 IE9 模式呈现:

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

在你的<head>标签中。

有关详细信息,请参阅MSDN ...

于 2013-01-17T15:45:24.167 回答
1

有很多方法可以做到这一点:

将 X-UA-Compatible 标记添加到头部 http 响应标头

使用 IE 工具 F12

更改窗口注册表

于 2013-05-27T05:38:52.750 回答
0

我在为我的 DNN6 网站寻找解决方案时发现了这篇文章。错误是

SCRIPT5007:无法获取未定义或空引用的属性“documentElement”

但我需要相同的解决方案:强制兼容模式为 IE9。因此,让我与您分享我为解决此问题所做的工作。

因此,对于 DotNetNuke 6 用户,请尝试StyleHelper SkinObject

对我来说很棒!

于 2013-06-05T10:02:41.717 回答
0

hack是递归的。就像 IE 本身使用的组件被许多其他需要“Web 组件”的进程使用。因此在注册表中我们添加IEXPLORE.exe. 实际上,它是一种递归破解。

于 2013-05-25T21:10:44.027 回答