polyfill
的概念:用于实现浏览器并不支持原生API的代码。
下面举一个例子:document.querySelectorAll()
现在大多数浏览器都已经支持该方法,但是仍然存在一些比较老的版本的浏览器不支持该方法,此时如果写一个库,通过对该库的引用,从而使得浏览器可以和其他浏览器一样使用该方法,此时这个库就是polyfill
。
那么我们要知道jquery
不知polyfill
,因为jquery
主要在封装一些api
,而polyfill
的本质是抹平不同浏览器的api之间的差异,而不是自己实现新的api
。
已经存在的polyfill
1、polymer
:让旧的浏览器可以使用HTML5
中的Web Component
的polyfill
。
2、FlushCanvas
:是让无法使用的canvas
的浏览器使用canvas
。
polyfill和shim的区别:
一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现。
一个polyfill就是一个用在浏览器API上的shim。
什么是polyfill?
最新推荐文章于 2024-05-30 10:01:28 发布