【发布时间】:2014-06-28 16:41:28
【问题描述】:
好的,这可能是一个菜鸟问题。正如老话所说:“Google 是你的朋友”……好吧,在这种情况下,它不想成为我的朋友。
IE 始终是不支持 Web 标准的问题浏览器,这是一个众所周知的问题,并且会使您使用肮脏的 hack 降低干净整洁的代码。但为什么呢?
浏览器开发人员必须开发什么使得 IE 难以遵循标准而其他浏览器则轻松支持它们?浏览器需要做什么才能识别 CSS 属性?是发动机吗?编码难吗?为什么编写专有扩展代码比编写实际的 CSS 属性更容易?
我试图理解为什么 IE 不想像其他浏览器一样遵循网络标准。
用爱, 一个诺比。
【问题讨论】:
-
这真的应该是过去时态,因为 IE 已经有好几年对 Web 标准的大力支持(即使如此,IE 自古以来就在一定程度上确实支持 Web 标准 - 不浏览器是完美的)。
-
跨浏览器测试是每个开发人员都应该做的事情,因为浏览器在本质上是不同的——这是设计上的。既然你是新人,我建议你不要听那些总是为了 IE 而单独挑出 IE 的人的话。就像我说的,没有浏览器是完美的,但这并不意味着 IE 像人们经常声称的那样“不支持网络标准”。
-
IE9+ 的 DOM 大多符合规范,并且 IE10+ 有不错的 CSS3 支持。老实说,今天许多你不能没有的符合规范的特性最初是由旧的 MS 专有模型实现的(例如
mouseenter/leave事件、clientWidth/Height和scrollTop/LeftDOM 属性)。而且您不一定必须支持旧浏览器——在这些行中添加“您的浏览器过时,您的安全存在风险”警告或带有browsehappy.com 链接的内容,然后就可以完成了。帮助推动网络向前发展,而不是让它回到旧的 IE 功能。 -
另外,如果您还没有,请查看优雅降级和渐进增强方法。
-
首先你能列举出你在寻找什么标准。从表面上看,你只是想成为一个仇恨者。我邀请您查看status.modern.ie 以了解 IE 支持和不支持的内容。我想你会发现任何达到推荐标准的东西都被支持,以及许多处于 W3C 批准过程的其他各种状态的东西。至于支持的功能或标准,决策过程会有所不同,首先是规范是否存在安全问题,开发人员现在是否要使用它,等等。
标签: internet-explorer cross-browser web-standards