Pri*_*cey 98 html html5 compatibility internet-explorer internet-explorer-11
我一直在Intranet网站超过6个月时我一直在使用下面的HTML5 doctype和边缘兼容性meta标签,迫使IE浏览器不效仿旧的浏览器版本,这已工作确定.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My title</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我这样做的原因是因为我工作的地方使用策略设置来启用所有Intranet站点的兼容性视图,并且使用该EDGE设置的这种方法在Internet Explorer 9中有效.

一个多月前,我升级到Internet Explorer 11,该网站仍按预期工作.
如今,这个停止工作不如预期,我不能肯定地说,但我认为,这迫使兼容性视图策略中的IE11中未启用,现在是...,因为这已经开启兼容性meta标签不再做了预期的事情,这个站点正在模拟IE8的企业模式下运行.
有没有人知道如何解决这个问题并在强制执行兼容性"企业模式"时强制IE11在Intranet站点上使用?并且无法通过浏览器设置禁用?
编辑
我刚刚尝试在我的web.config中添加自定义标头,如本答案中所述 /sf/answers/1278004591/
这对我不起作用我仍然在开发人员工具栏控制台中收到以下消息
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
Run Code Online (Sandbox Code Playgroud)
就好像版本8被视为edge在IE11中启用此Intranet兼容性设置时.
这篇文章:https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css---disabling-compatability-mode 解释得很好,我还没有尝试通过代码设置此标头我们的用户无权更改其浏览器设置..其他任何更改都没有.
UPDATE
请参阅我对此帖子的评论,了解企业模式和兼容模式之间的区别,因为它很重要.
spa*_*owt 91
确保:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
是<meta>您网页上的第一个标记,否则IE可能不尊重它.
或者,问题可能是IE正在为此网站使用企业模式:
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.rus*_*tyx 18
此问题通常是由网站/内部网URL放置在以下之一:
在公司网络上,这些兼容性视图设置通常通过组策略进行集中控制.在您的情况下,企业模式似乎是罪魁祸首.
不幸的是,设置META X-UA-Compatible 不会覆盖这一点.
有时,最终用户覆盖此选项的唯一方法是按F12并更改" 仿真"选项卡下的" 文档模式 " .但是,此设置不是永久性的,并且可能会在Developer Tools关闭后恢复.
您还可以尝试从Intranet区域中排除您的站点.但是,属于Intranet区域的域列表通常也受组策略的控制,因此这种工作的可能性很小.
要查看属于Intranet区域的域列表,请转到:
工具 - > Internet选项 - >安全 - >站点 - >高级
如果列表包含您的子域并且显示为灰色,那么在您的网络管理员允许之前,您将无法覆盖兼容性视图.
您确实需要与网络管理员联系,以允许更改组策略中的兼容性视图设置.
在打开开发人员工具(F12)的情况下加载网站通常会报告IE切换到较旧模式的原因.
上面提到的所有3个设置通常都是通过组策略控制的,但有时可以在用户计算机上覆盖.
如果企业模式是问题(如原始海报的情况),以下两篇文章可能会有所帮助:
对于那些正在构建ASP.NET MVC项目的人,请确保添加:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)
标记到您的布局(模板)页面.我只花了两个小时调试和调整,只是意识到我只在我的子页面中添加了这个元标记.只要我将其添加到我的布局页面,浏览器就会完全加载到EDGE模式.