我已经仔细查看了stackoverflow,发现以下是强制非兼容模式的最佳推荐方法:
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
我对这些答案的问题是它们都是IE 8&amp; 9时代的答案。
这种仍然强制使用用户正在运行的最新浏览器吗?
这是针对公共网站的,我们的用户经常使用IE10,IE9,IE7和IE8(大致按此顺序)。
是的,IE7的使用比IE8更常见。
我对IE8的唯一限制是网站可读。
这是一个现代化的网站,我希望用户所拥有的任何浏览器都不能处于兼容模式。我知道有一种方法可以指定浏览器版本,但我不想在下个月底使用Win10做到这一点。
如果有人知道Windows 10将使用哪一行知道非常有用(新浏览器称为“Edge”)。
感谢您提供的任何帮助。
-Chris C。
P.S。 我确实有以下作为页面的第一行(没有空格):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
答案 0 :(得分:12)
我在Internet Explorer和Microsoft Edge团队工作。
您提供的是 x-ua-compat 标头/元标记。它被设计为一种保留式解决方案,可帮助您继续前进并采用对现代浏览器的支持,而无需立即负责现代化您的代码库。它不是网络兼容性的长期解决方案。
为用户提供最理想体验的最佳方式是首先使用HTML5 doctype:
<!DOCTYPE html>
这应该是你文件中的第一件事;什么都不应该在它之前。从那时起,单独使用有效标记。检查您的文档是否有错误,不平衡标记,还原标记等。请记住,valid your markup定期。
只有在您无法立即替换/删除的旧代码时才使用x-ua-compat header/meta-tag。在这些情况下,允许您的用户处于遗留文档模式:
<meta http-equiv="X-UA-Compatible" content="IE=9" />
如果该模式存在,以上将使浏览器进入Internet Explorer 9的边缘模式。在9之前的Internet Explorer版本中,将使用最新的文档模式。
你也可以叠加这些以表示赞成:
<meta http-equiv="X-UA-Compatible" content="IE=10,9,7,8" />
但请不要忘记我的主要信息 - 上述内容仅作为临时解决方案。最终目标是使用现代代码更新您的文档。
Microsoft Edge,Internet Explorer的继任者,does not support document modes。 Microsoft Edge将解释您的文档,如Firefox和Chrome。