我正在为一个在所有内部网站点上强制兼容模式的客户端工作。我想知道是否有一个标签,我可以把我的HTML强制兼容性模式关闭。
当前回答
有“边缘”模式。
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>My Web Page</title>
</head>
<body>
<p>Content goes here.</p>
</body>
</html>
从链接的MSDN页面:
Edge模式告诉Windows Internet Explorer以最高可用模式显示内容,这实际上打破了“锁定”模式。在IE8中,这相当于IE8模式。如果(假设)未来的ie版本支持更高的兼容性模式,设置为Edge模式的页面将以该版本支持的最高模式显示;然而,当使用IE8浏览时,这些页面仍然会以IE8模式显示。
但是,在生产使用中不鼓励使用“edge”模式:
建议Web开发人员将Edge模式的使用限制在测试页面和其他非生产用途上,因为在Windows Internet Explorer的未来版本中呈现页面内容可能会出现意想不到的结果。
说实话,我不完全明白为什么。但根据这一点,目前最好的方法是使用IE=8。
其他回答
如果您正在处理内部网专区中的页面,您可能会发现无论您做什么,IE9都会进入IE7 Compat模式。
这是由于IE兼容性设置中的设置,它说所有的Intranet站点都应该在兼容模式下运行。你可以通过组策略取消勾选(或者只是在IE中取消勾选),或者你可以设置如下:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
这是可行的(详见其他答案),但最初可能不是这样的:它需要在样式表声明之前出现。如果你不这样做,它就会被忽略。
如果您可以访问服务器,最可靠的方法是在服务器本身,在IIS中进行。进入IIS HTTP响应头。添加 名称:X-UA-Compatible 价值:IE =边缘 这将覆盖您的浏览器和代码。
如果你想要每个单独的网页加载所选择的内容,并使用asp.net。只需将其应用为视图>共享>Layout.cshtml中的标题标签下的第一个标签
只是一个小提示
IE8对外网默认为“标准模式”,内网默认为“怪异模式”。 如果将doctype设置为xhtml transitional,则忽略HTML元标记。 解决方案是在代码中添加HTTP报头。 这对我们很管用。 现在我们的内部网正在强制IE8以标准模式呈现应用程序。
添加到基页类的PageInit (ASP.net c#):
Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");
参考: http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html
元标签解决方案并不适合我们,但在响应头中设置它却可以:
header('X-UA-Compatible: IE=edge,chrome=1');
推荐文章
- 为什么我的球(物体)没有缩小/消失?
- Twitter Bootstrap 3 Sticky Footer
- CSS在特定的“内联块”项之前/之后换行
- 很好的初学者教程socket.io?
- 点击下载Href图片链接
- HtmlSpecialChars在JavaScript中等价于什么?
- 我如何删除背景图像在css?
- 如何克服HTML表单嵌套的限制?
- Visual Studio打开默认浏览器,而不是Internet Explorer
- 如何使Bootstrap 4卡在卡列相同的高度?
- 使用域集图例引导
- 音频停止功能
- 如何禁用谷歌翻译从HTML在Chrome
- 向HTML表中添加水平滚动条
- 在notepad++中格式化代码