如何强制IE*不*使用兼容模式?

J. *_*ton 5 html5 internet-explorer internet-explorer-10

我已经仔细查看了stackoverflow,发现以下是强制非兼容模式的最佳推荐方法:

<meta http-equiv="X-UA-Compatible" content="IE=edge" >
Run Code Online (Sandbox Code Playgroud)

我对这些答案的问题在于它们都是IE 8和9时代的答案.

仍然是强制用户运行的最新浏览器的方法吗?

这是一个公共站点,我们的用户经常使用IE10,IE9,IE7和IE8(大致按此顺序).
是的,IE7的使用比IE8更常见.

我对IE8唯一的限制是该网站是可读的.

它是一个现代化的网站,我希望用户不能在兼容模式下使用任何浏览器.我知道有一种方法可以指定浏览器版本,但我不想在下个月末使用Win10.

如果有人知道Windows 10将使用哪一行知道这一点非常有用(新浏览器称为"Edge").

感谢您提供的任何帮助.

-Chris C.

PS我确实有以下作为页面的第一行(没有空格):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
Run Code Online (Sandbox Code Playgroud)

" http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd ">

Sam*_*son 12

我在Internet Explorer和Microsoft Edge团队工作.

你提供的是x-ua-compat标头/元标签.它被设计为一种保留式解决方案,可帮助您继续前进并采用对现代浏览器的支持,而无需立即负责现代化您的代码库.它不是一种Web兼容性的长期解决方案.

为用户提供最理想体验的最佳方式是首先使用HTML5文档类型:

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

这应该是你文件中的第一件事; 什么都不应该在它之前.从那时起,单独使用有效的标记.检查文档中的错误,不平衡标签,还原标签等.请记住,定期验证您的标记.

只有在无法立即替换/删除的旧代码时才使用x-ua-compat标头/元标记.在这些情况下,允许您的用户处于遗留文档模式:

<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)

如果模式存在,以上将使浏览器进入Internet Explorer 9的边缘模式.在9之前的Internet Explorer版本中,将使用最新的文档模式.

您也可以堆叠这些以表示支持:

<meta http-equiv="X-UA-Compatible" content="IE=10,9,7,8" />
Run Code Online (Sandbox Code Playgroud)

但请不要忘记我的主要信息 - 以上仅作为临时解决方案.最终目标是使用现代代码更新您的文档.

Internet Explorer的后继者Microsoft Edge 不支持文档模式.Microsoft Edge将像Firefox和Chrome一样解释您的文档.