如何强制IE10在IE9文档模式下呈现页面

时间:2013-01-17 15:38:27

标签: html browser internet-explorer-10

我有两个问题:

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

  2. 在IE10的开发人员工具栏中,我无法看到IE10的文档模式选项。它没有实现,或者我的浏览器版本是否已过期?

  3. 感谢您的帮助。


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

9 个答案:

答案 0 :(得分:31)

您应该可以使用the X-UA meta tag执行此操作:

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

然而,如果你发现自己不得不这样做,你可能做错了什么,应该看看你在做什么,看看你是否能做到不同/更好方式。

答案 1 :(得分:9)

你的意思是你想告诉你的IE 10副本在IE 9模式下呈现它所查看的页面吗?

或者您是否希望您的网站强制IE 10以IE 9模式呈现它?

对于前者:

  

要将您在Internet Explorer 10中查看的网页强制转换为特定的文档兼容模式,请先按F12键打开F12工具。然后,在浏览器模式菜单上,单击 Internet Explorer 10 ,然后在文档模式菜单上,单击标准

     

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

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

答案 2 :(得分: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"

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

答案 3 :(得分:8)

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

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

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

感谢我的同事Sreejith D:)

答案 4 :(得分:3)

根据this所说的IE10(该文章被称为预览版,无论如何),如果文档处于怪癖模式,它只能使用X-UA-Compatible (没有DOCTYPE),否则IE10将不会对请求做出反应。

以下是摘录:

  

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

所以,你要用Dvelopers工具或怪癖模式手动完成(但我建议保持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

答案 5 :(得分:2)

您可以通过添加:

强制IE10在IE9模式下渲染

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

<head>标记中。

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

答案 6 :(得分:1)

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

添加X-UA兼容   标记到头  http响应标题

使用IE工具F12

更改Windows注册表

答案 7 :(得分:0)

黑客是递归的。就像IE本身使用了许多其他需要“web组件”的进程所使用的组件。因此,在注册表中我们添加IEXPLORE.exe。实际上它是一个递归的黑客。

答案 8 :(得分:0)

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

  

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

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

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

对我来说很棒!