最近做一个新的项目,用的是用vue做的,用的是2.6.11。
项目要求支持到IE10,一开始都在chrome下面调试,没什么问题,到了IE下面就出了,[Vue warn]: Error in render: "TypeError: Object doesn't support property or method 'includes'",如下图
IE下面没有includes这个函数
查了一下,需要使用polyfill(polyfill的准确意思为:用于实现浏览器并不支持的原生API的代码:))
大概有两种方式来实现includes的polyfill,对于vue一般都是加在main.js里面:
自己写
就像stackoverflow.com上面的这一条
#如果Array没有includes这个函数,直接加上
if(!Array.prototype.includes){
console.log('Polyfilled Array.prototype.includes');
//or use Object.defineProperty
Array.prototype.includes = function(search){
return !!~this.indexOf(search);
}
}
更详细的可以看看这个stackoverflow.com
https://stackoverflow.com/questions/53308396/how-to-polyfill-array-prototype-includes-for-ie8
使用npm上面别人写好的
image.png介绍的链接:
https://www.npmjs.com/package/polyfill-array-includes
npm install --save polyfill-array-includes
跑了这个命令之后,在main.js里面加上一个import就可以了:
import 'polyfill-array-includes';
网友评论