对于我的网络应用程序,我使用 IE8 作为标准浏览器。有时浏览器将文档模式设置为 IE-7 标准。
我已经尝试过 Servlet Headers 作为 IE=8,IE=edge 和所有其他设置,我的 DOCTYPE 也是正确的。
有谁知道为什么 IE 强迫这种行为?
对于我的网络应用程序,我使用 IE8 作为标准浏览器。有时浏览器将文档模式设置为 IE-7 标准。
我已经尝试过 Servlet Headers 作为 IE=8,IE=edge 和所有其他设置,我的 DOCTYPE 也是正确的。
有谁知道为什么 IE 强迫这种行为?
您可以强制 IE 使用具有X-UA-Compatible Meta Tag 的兼容模式:
即 7:
<meta http-equiv="X-UA-Compatible" value="IE=7">
即 8:
<meta http-equiv="X-UA-Compatible" value="IE=8">
即 9:
<meta http-equiv="X-UA-Compatible" value="IE=9">
IE 也看一下 DOCTYPE 页面:
标准视图
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>This page is NOT Rendered in Compatibility View</title>
</head>
<body>
<h1>This page is NOT Compatibility View</h1>
</body>
</html>
兼容性视图
<html>
<head>
<title>This page is NOT Rendered in Compatibility View</title>
</head>
<body>
<h1>This page is NOT Compatibility View</h1>
</body>
</html>
标准视图
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>This page is NOT Rendered in Compatibility View</title>
</head>
<body>
<h1>This page is NOT Compatibility View</h1>
</body>
</html>
兼容性视图
<?xml version="1.0" encoding="UTF-8">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>This page is NOT Rendered in Compatibility View</title>
</head>
<body>
<h1>This page is NOT Compatibility View</h1>
</body>
</html>
注意,最后一个示例应该在 XHTML 模式下作为标准视图加载。但是 Internet Explorer 将该 XML 声明解释为需要兼容性视图。
我解决了类似的问题:
<meta http-equiv="X-UA-Compatible" content="IE=8,IE=9,IE=10,chrome=1" />
考虑到IE版本应该从最低版本开始。