IE兼容性问题处理( 对象不支持startsWith )
2018-03-21 18:09
1551 查看
一、 IE:对象不支持startsWith利用 react + redux + webpak 实现了一个mini项目。在项目快做完需要处理兼容性的时候却发现有一个坑爹的问题,项目在火狐和Chrome上都可以正常的使用,但是却不能兼容IE(IE11)。打开控制台刷新浏览器会变成这个样子,并且很奇怪没有生成对应的dom树,但是还好有报错:
放大一下报错信息,它的报错信息是“对象不支持startsWith”:
那么startsWith?由于不确定startsWith的用处,我在ecmascript里查了查,并且百度了string.prototype.startsWith
备注:startWith是用于判断当前字符串是否以anotherString作为开头,与它对应的是endsWith,用于判断是否以某字符串作为结尾。EG:"imsohappy".startsWith("im") //true"imsohappy".startsWith("y") //false"imsohappy".endsWith("im") //false"imsohappy".endsWith("y") //true
于是引入 corejs 提供polyfill方案(有些方法你不支持,Polyfill使用你支持的方法帮你实现了这些你不支持的方法。)
翻译过来就是corejs是js的模块化和标准化库,它为ECMAScript 5,ECMAScript 6:promises, symbols, collections, iterators, typed arrays,以及ECMAScript 7的等等提供了polyfills。所以 引入core-js 可以解决这个问题。再总结就是,有人把写的一堆实现方法*(包括如何用低版本的js实现高版本的js的方法),总结成一个库就是corejs
备注:后来查了网页和博客,发现startWith是2015年语言规范里更新的,在规范里强调浏览器应该自带这个方法,之后chrome 在下个发行版本里就加上了,但是2015年之前的chrom版本就没有,而ie始终不支持
放大一下报错信息,它的报错信息是“对象不支持startsWith”:
那么startsWith?由于不确定startsWith的用处,我在ecmascript里查了查,并且百度了string.prototype.startsWith
备注:startWith是用于判断当前字符串是否以anotherString作为开头,与它对应的是endsWith,用于判断是否以某字符串作为结尾。EG:"imsohappy".startsWith("im") //true"imsohappy".startsWith("y") //false"imsohappy".endsWith("im") //false"imsohappy".endsWith("y") //true
于是引入 corejs 提供polyfill方案(有些方法你不支持,Polyfill使用你支持的方法帮你实现了这些你不支持的方法。)
翻译过来就是corejs是js的模块化和标准化库,它为ECMAScript 5,ECMAScript 6:promises, symbols, collections, iterators, typed arrays,以及ECMAScript 7的等等提供了polyfills。所以 引入core-js 可以解决这个问题。再总结就是,有人把写的一堆实现方法*(包括如何用低版本的js实现高版本的js的方法),总结成一个库就是corejs
备注:后来查了网页和博客,发现startWith是2015年语言规范里更新的,在规范里强调浏览器应该自带这个方法,之后chrome 在下个发行版本里就加上了,但是2015年之前的chrom版本就没有,而ie始终不支持
相关文章推荐
- IE6-IE9兼容性问题列表及解决办法_补充之六:锁表头的JQuery方案和非JQuery方案。(不支持IE6,7,8)
- jquery 在 ie 8 360中 有对象不支持的问题
- ie 6 下兼容性问题的处理细节
- IE & Firefox 兼容性问题 JS和对象问题1
- IE 兼容性问题的处理
- 处理IE不支持document.getElementsByName获取Div对象的方法
- IE & Firefox 兼容性问题 JS和对象问题 2
- 原生js解决对象事件处理程序添加和删除的兼容性问题
- IE6-IE9兼容性问题列表及解决办法_补充之三:Table的Col不再支持style及align,需要到th, td中去设置
- 解决 IE 6/7 中console对象兼容性问题
- 在dojo中处理IE和Firefox的常见的兼容性问题
- 批处理解决ie不支持javascript及无法显示动态网页等问题[转]
- IE中JavaScript提示“对象不支持此属性和方法”的普遍问题
- 解决对象不支持“getElementsByClassName”属性或方法 ie兼容性
- IE11兼容性问题——网站提示“打印插件只支持IE浏览器”
- 使用modernizr处理html5+css3的兼容性问题
- 完美解决IE不支持placeholder的问题
- 过滤器案例之编码问题处理、代理对象的使用、过滤器案例之无效数据的过滤
- java多线程:锁对象Lock-同步问题更完美的处理方式
- IE数组排序问题的处理