polyfill和垫片的相关性

时间:2016-11-23 17:02:54

标签: javascript html5 css3 polyfills

所以它是2016年.ECMAScript 2015已经非常标准化了。 HTML5和CSS3虽然有一些小问题,但却非常有用。

然而,现在的教程仍然包含polyfill和shims(很好的例子是Angular 2 quickstart)。这对我来说似乎不合逻辑。

我对标准化的推断来自CanIUse.comKangax ES6 compatibility tables

我会同意Internet Explorer是主要原因(对你而言,MS),但我已经检查了CanIUse面向使用的表格,IE11只有(截至2016年11月23日)3%在世界上的用法。

然后,我还检查了ES6对浏览器和浏览器的支持,支持率为90%或以上(Chrome浏览器领先97%,Safari 10支持100%支持)。

回到我的问题,

如果浏览器已经赶上了,为什么仍然使用polyfill?

干杯!

2 个答案:

答案 0 :(得分:2)

即使很低的百分比仍然是相当多的人。

一位客户试图通过网站/应用来吸引人们并不关心es2015的技术之美,当有人在Windows XP上使用ie 6并且无法访问时,他关心的不是傻瓜他们的服务。

是您的个人网站/实验吗?随意忽略垫片 这是某人付钱的工作吗?忽视看起来很酷的东西,做些适合他们的事情,包括垫片。

答案 1 :(得分:1)

我认为可以回答大多数问题的答案都是因为旧标准使用旧技术,因为遗留代码和向后兼容性。在一天结束时,您的浏览器将始终存在需要运行的旧代码,如果我们在ES6中支持polyfill,那么我们会破坏很多网站。除此之外,许多人决定(无论出于何种原因)不更新,如果浏览器不支持更新的机制,而是需要像polyfill这样的东西,那么像polyfill这样的东西可以用作遗留的后备。 #39; s。