我已经为一个内部网站工作了6个多月
如果我一直使用下面的 html5doctype
和 edge 兼容 meta 标签来强制 Internet Explorer 不要模仿旧版本的浏览器,那么这个方法还是可行的。
<!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>
我之所以这样做是因为我工作的地方使用策略设置来启用所有内部网站的兼容性视图,而这种使用 EDGE
设置的方法已经在 Internet Explorer 9上奏效了。
一个多月前,我被升级为 Internet Explorer 11,网站仍然按照预期运行。
今天这个按照预期停止工作了,我不能确定,但是我认为强制兼容性视图的策略在 IE11中没有被启用,而现在它被启用了... 因为这个已经被启用了,兼容性元标签不再做预期的事情,并且这个网站正在模仿 IE8的企业模式下运行。
有人知道如何解决这个问题,并强制 IE11在内部网站上使用时,兼容性“企业模式”正在强制执行?无法通过浏览器设置禁用?
剪辑
我刚刚尝试在我的 web.config 中添加一个自定义头文件,正如这个答案中所解释的那样 Https://stackoverflow.com/a/18257208/98706
这对我来说不工作,我仍然得到以下消息在开发人员工具栏控制台的
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
当 IE11中启用这个内部网兼容性设置时,就好像版本8被当作 edge
处理。
译自: 美国《科学》杂志网站(ref) https://www.leapinggorilla.com/blog/read/1016/ie-ate-my-css——-disabling-compatability-mode : explains this well, I haven't yet tried setting this header via code and our users dont have access to change their browser settings.. none of the other changes have worked as yet.
更新
关于企业模式和兼容模式的区别,请看我对这篇文章的评论,因为它很重要。