我有一个Web应用程序,设计用于< IE9版本。随着整个公司升级到更新的IE版本,只有当我启用“兼容性视图”时,该应用程序才能正常运行。
答案 0 :(得分:3)
这真的是件好事吗?我的意思是,它真的是长期解决方案吗?或者我应该开始重新设计我的应用程序以支持更新的IE版本 - 即使我没有预见到使用HTML5的任何新功能?
不,它从来就不是一个长期的解决方案。如果可以的话,你一定要开始重新设计你的应用程序。您不必使用任何新的HTML5功能以符合Web标准 - 这完全是两个不同的事情。
如果您的应用程序在最新版本的IE中无法正常运行,那不是因为您没有使用HTML5。它更有可能是因为它的设计方式依赖于旧版本的问题导致它们以非标准方式运行。例如,它可能依赖于IE6或IE7如何处理某些HTML元素或CSS样式的问题。
MS支持“兼容性视图”切换多长时间?如果没有这样的选项,IE 12+中的内容是什么?
兼容性视图按钮已在IE11中消失;强制网站使用它的唯一方法是将其添加到兼容性视图设置中的列表,如here所述。你可以看到微软已经采取措施逐步淘汰这一功能,虽然是逐步的。
您还可以使用IE8中引入的X-UA-Compatible
标头emulate IE7 document mode:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
但即便如此,IE11也已弃用,所以如果你使用它,再次知道它从长远来看不再可行。
是否有任何文档提供了我应该修复的元素列表,以使我的应用程序在旧的和新的IE中兼容?
没有任何一个文档可以帮助您解决这个问题,因为它不仅仅是“修复元素”的问题,而是考虑到标准合规性的发展问题,这本身就是一个很大的话题。
幸运的是,今天有许多优秀的资源可以帮助您使用最新标准进行开发。特别是,当涉及到使用IE时,一个好的起始资源是modern.IE。
答案 1 :(得分:0)
除非您要添加许多功能,否则您不需要更新它。您可以使用页面中的标题强制兼容。
它主要是js打破了,虽然有时css / html也有点。 最大问题:如果你想保持最新状态,你可能需要升级你的js库,否则他们所做的所有跨浏览器规范化功能(将多个浏览器实现统一为1个功能)都将缺少在发布日期之后发布的浏览器版本的覆盖范围。 js图书馆。
总之,我认为使用兼容性视图是安全的,可以节省时间/精力,但您应该看看Microsoft是否提供了弃用计划。如果它是一个将要存在很长时间的应用程序,你可能想要获得最新信息只是因为理论上它应该更容易随每个周期升级,因为它会迫使你重构为更加浏览器无关的代码库。
另外,请咨询您的公司 - 对于内部应用,他们通常会控制这些内容。会建议员工在指示之前不要升级。