1

我正在构建一个作为 Intranet 托管的站点。我需要它不在 IE 的兼容性视图中。

显然,IE 默认设置为始终以兼容性视图模式显示 Intranet 站点。我尝试过使用元标记、标准 xhtml dom,但似乎没有什么能够强制关闭兼容模式。唯一的方法是让用户转到工具/兼容性视图设置/并取消选中“在兼容性视图中显示 Intranet 站点”。

有没有办法使用服务器设置强制关闭 Intranet 站点中的兼容性视图?

我努力了:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>TEST</title>
</head>
<body> 
    test
</body>
</html>

和,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST</title>
</head>
<body> 
    test
</body>
</html>

和,

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

2 回答 2

0

请参阅Override Intranet compatible mode IE8,它告诉您修改 http 标头,而不是指定元标记。给出了如何在 ASP.Net web.config 文件中执行此操作的示例。

或者,您可以在 Web 服务器配置中指定自定义标头。例如,在 IIS 7.5 中,

  1. 您导航到要重新配置的网站;
  2. 查找条目HTTP 响应标头
  3. 添加名称:“X-UA-Compatible”和值:“IE=Edge”的设置。

如果您的网站是 ASP.Net Web 应用程序,则两种方法将相互复制。也就是说,第二种方法实际上会更新 web.config 文件。

于 2014-02-04T11:41:00.563 回答
0

您的第一个示例应该有效。但是请注意,IE 仍会将 IE7 User-Agent 标头发送到服务器,因此您不应该对 IE 版本进行服务器端检测。此外,在测试时,您需要在更改代码时清除缓存并重新启动浏览器,因为 IE 会尝试记住您网站上次使用的兼容性视图设置,而不是读取 X-UA-Compatible 值。

于 2012-12-02T09:51:36.427 回答