出问题的startsWith在antd模块里,所以跟自己写的代码无关,是antd的兼容性问题。
出问题的浏览器是IE,上网查了些资料发现IE浏览器不支持该属性
浏览器支持情况:
看了网上的好多种解决方案,他们跟我的项目都不完全一致所以没法直接拿来用,记录下自己的解决办法。
需要引用babel-polyfill来解决兼容问题
我的项目是react+antd+webpack
安装:babel-polyfill
npm install --save-dev babel-polyfill
在webpack.config.js里引用babel-polyfill
var config = {
entry: {
main: ["./src/entry/main.js"],
vendor: ["react-dom", "react", "react-router", "babel-polyfill"],
}
.....
}
选择上面这种引用是因为我的项目构建工具是webpack,webpack.config.js是把开发和生产共用的一些配置文件放在了这里,babel-polyfill也是共用的,所以放在这里。
另外还有两种在脚本头部引用的方法:
require("babel-polyfill")
import "babel-polyfill"
附一些我参考的链接
https://segmentfault.com/q/1010000013952535
http://www.jb51.net/article/45419.htm
https://blog.csdn.net/u014541501/article/details/79643711
https://www.cnblogs.com/princesong/p/6728250.html
https://blog.csdn.net/crazyfeeling/article/details/70241285
https://segmentfault.com/a/1190000008706628
https://segmentfault.com/a/1190000006178770这个是关于webpack配置文件的