扫码关注官方订阅号
Polyfill是什么啊 为什么他拿给你解决兼容问题
认证高级PHP讲师
Polyfill你可以理解为“腻子”,就是装修的时候,可以把缺损的地方填充抹平。
举个例子,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。
我们又想使用这个特性,怎么办?
有些人就写对应的Polyfill(Polyfill有很多),帮你把这些差异化抹平,不支持的变得支持了(简单来讲,写些代码判断当前浏览器有没有这个功能,没有的话,就写一些支持的补丁代码)。
你只需要把需要的Polyfill引入到你的程序里,就可以了。
比如下面就是对html5各个特性支持的Polyfill,你需要哪个,就引入哪个。当然,你也可以自己写 :)https://github.com/Modernizr/...
没那么复杂……举个例子,有些旧浏览器不支持Number.isNaN方法,Polyfill就可以是这样的:
Number.isNaN
if(!Number.isNaN) { Number.isNaN = function(num) { return(num !== num); } }
啥意思呢,就是假如浏览器没有Number.isNaN方法,那咱们就给它添加上去,所谓Polyfill就是这样解决API的兼容问题的。
有些方法你不支持,Polyfill使用你支持的方法帮你实现了这些你不支持的方法。
垫片,就是帮你加一层东西来解决问题,不光是兼容性问题,pollyfill是个概念
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
Polyfill你可以理解为“腻子”,就是装修的时候,可以把缺损的地方填充抹平。
举个例子,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。
我们又想使用这个特性,怎么办?
有些人就写对应的Polyfill(Polyfill有很多),帮你把这些差异化抹平,不支持的变得支持了(简单来讲,写些代码判断当前浏览器有没有这个功能,没有的话,就写一些支持的补丁代码)。
你只需要把需要的Polyfill引入到你的程序里,就可以了。
比如下面就是对html5各个特性支持的Polyfill,你需要哪个,就引入哪个。当然,你也可以自己写 :)
https://github.com/Modernizr/...
没那么复杂……
举个例子,有些旧浏览器不支持
Number.isNaN方法,Polyfill就可以是这样的:啥意思呢,就是假如浏览器没有
Number.isNaN方法,那咱们就给它添加上去,所谓Polyfill就是这样解决API的兼容问题的。有些方法你不支持,Polyfill使用你支持的方法帮你实现了这些你不支持的方法。
垫片,就是帮你加一层东西来解决问题,不光是兼容性问题,pollyfill是个概念