如何强制 Internet Explorer 以标准模式呈现,而不是以怪异方式呈现?

我正在编写一个前端工作在 IE7标准模式和 IE8标准模式良好。

当我启动 Internet Explorer 并加载页面时,IE7和 IE8都会直接进入怪诞模式。如何强制 IE7和 IE8总是以标准模式加载页面?

到目前为止,我没有添加任何特殊的元标记。

谢谢你帮我

编辑: 我的文档类型和头部现在看起来如下:

<!DOCTYPE html>
<html lang="de">
<head>
<title>...</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<script src="js/html5.js"></script>


(...)
</head>
102801 次浏览

可悲的是,他们希望我们使用一个标签,让他们的浏览器知道该怎么做。看看 这个文档,它告诉我们使用:

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

应该可以。

添加正确的 doctype 声明和避免 XML 序言应该足以避免 怪癖模式

可能是 HTML5 Doctype 给你带来了老式浏览器的问题。它也可以归结为与 HTML5刀相关的一些时髦的东西。

您可以尝试切换到其中一种 XHTML 文档类型,并相应地更改标记,至少暂时如此。这可能会让您缩小问题的范围。

当那些工业工程师切换到怪癖模式时,你的设计是否出现了问题?如果是你的 CSS 导致了奇怪的显示,这可能是值得的工作的 CSS,这样的网站看起来一样,即使浏览器切换模式。

  1. 在页面开头使用 html5 doctype。

    <!DOCTYPE html>

  2. 强制 IE 使用最新的渲染模式

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

  3. 如果您的目标浏览器是 ie8,那么请检查您的兼容设置 在 IE8

我在博客上详细介绍了这一点

这是确定 当然的方法:

<!doctype html> <!-- html5 -->
<html lang="en"> <!-- lang="xx" is allowed, but NO xmlns="http://www.w3.org/1999/xhtml", lang:xml="", and so on -->
<head>
<meta http-equiv="x-ua-compatible" content="IE=Edge"/>
<!-- as the **very** first line just after head-->
..
</head>

理由:
每当 IE 遇到与之冲突的 什么都行时,它就会回到“ IE7标准模式”,忽略 x-ua-compatible

(我知道这是一个非常古老的问题的答案,但我自己也为此挣扎过,上述方案是正确的答案。它一直在工作,每次都是)

我知道这个问题在两年前就被问到了,但是还没有人提到过这个问题。

最好的方法是使用 http 头

将 meta 标记添加到头部并不总是有效,因为 IE 可能在读取之前就已经确定了模式。确保 IE 始终使用标准模式的最佳方法是使用自定义的 http 头。

标题:

name: X-UA-Compatible
value: IE=edge

例如,在一个.NET 应用程序中,您可以将其放在 web.config 文件中。

<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>