IE9是"现代浏览器"吗?Mozilla说不是,微软说当然是。口水了,还是听听他们的论断过程吧。
Mozilla技术专家
Paul Rouget发表
文章称:IE9相对于IE8来说有所进步,往正确的方向上迈进了一步,但是,它还没能称得上现代浏览器。
微软向来对HTML5吹捧有加,还大言不惭地说自己对HTML5的支持度比其他任何浏览器都好。上图是他们
提供的W3C测试结果。IE9真的支持99%的HTML5标准吗?非也。那只是微软测试驱动开发(TDD)过程中自己创建的单元测试(Unit Test),那是为他们量身定做的,当然能通过。我们也有自己的单元测试。而对于
caniuse和
html5tests微软以它们只能测试现有特性为由而置之不理,而认为使用W3C测试才比较好。当然,W3C测试相当有用(Mozilla也利用W3C测试改进Firefox)。但是,它并不能让你了解对Web标准的支持程度。
下图是IE9和Firefox4的caniuse测试结果对比:
下图是IE9和Firefox的
html5test.com (beta)测试结果对比:
不难看出:IE9落后了两年。
IE9尚不支持(但其他浏览器支持)的特性有:
*Application Cache (offline)
*Web Workers (threads in JavaScript)
*HTML5 Forms (validation mechanism, CSS3 selectors)
*JavaScript Strict Mode
*ForeignObject (embed external content in SVG)
*SMIL Animations (SVG animations)
*File API
*WebGL (3D)
*CSS3 Transitions (for animations)
*CSS3 Text Shadow
*CSS3 Gradients
*CSS3 Border Image
*CSS3 Flex box model
*ClassList APIs
*FormData
*HTML5 History API
*Drag'n Drop from Desktop
*...
IE9支持(但其他浏览器不支持)的属性有:
*text-overflow doesn't work in Firefox 4.
*Calc is not supported in Chrome 9.
上面就是
Paul Rouget不承认IE9是现代浏览器的原因。微软听后自然不爽,很快在MSDN博客上
撰文反驳。他从用户和开发人员的角度上对“现代浏览器”进行了重新定义:
*现代浏览器必需
速度够快。微软充
分利用底层平台使用GPU进行图形渲染,跨多CPU内核编译和执行Javascript,确保网络应用程序的速度趋近于本地应用程序。
*现代浏览器必需能够通过插件或是本地应用程序带来
丰富、身临其境的用户体验。它们必需能够在不牺牲性能的前提下,无缝融合文字、图片、音频和视频。
*现代浏览器必需实现已经定好标准的功能,提供开发人员可依赖的模型,而不是可以
随便修改或删除的规范。
*现代浏览器必需在标准差不多就绪的时候就采用标准,以便于开发人员试验和验证规范,但必需判别
这种不稳定的原型。公说公有理,婆说婆有理。不过别忘了,可能Chrome才是“沉睡的狮子”。
亲爱的
36氪读者,你认为呢?
[poll id="52"]
via
A &
B