我们为正式将其标准浏览器从IE6升级到IE8(队列庆祝活动)的组织的Web应用程序,我们已将所有DOCTYPE设置为<!DOCTYPE html>
(以及修复其他html代码)我认为在IE8中这会导致页面在IE8标准模式下呈现。但是,它仍然以IE7标准模式显示。
我已将<meta http-equiv="X-UA-Compatible" content="IE=8">
添加到<head>
部分,但仍然无法默认为IE8标准模式。我假设在这个阶段必须有一个强制模式的设置(可能是组策略等)。
在MSDN论坛上阅读hack后,如果您将元标记放在<html>
标记之前,它会正确显示为IE8标准模式,这对我有用。还有另一种方法吗?看到那里的元标记看起来很糟糕......
以下是每个页面的组成方式:
<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<html lang="en">
<head>
<meta charset="utf-8">
<title>Page Title</title>
</head>
<body>
</body>
</html>
答案 0 :(得分:11)
您可以将X-UA-Compatible
设置为HTTP响应标头,而不是元标记。
这比将其放在<html>
标记上方更清晰。
关于X-UA-Compatible
及其许多错综复杂的令人困惑的有用博文:
http://farukat.es/journal/2009/05/245-ie8-and-the-x-ua-compatible-situation
答案 1 :(得分:8)
两种可能性:
meta
代码肯定属于文档的<head>
部分。
如果这是在Intranet中,这可能是IE的“智能默认”开始。是的,有智能默认设置这样的事情。见here。因为如果您在Intranet中,IE8将自动进入IE7兼容模式,以免打破依赖IE7的许多企业应用程序。有道理,对吗?对?