IE浏览器“对象不支持slice属性或方法”的解决办法

问题描述:

在用echarts做地图的时候,城市是用坐标确定的,兼容IE11的时候报错对象不支持slice属性或方法,根据网上教程配置internet选项没有解决问题

解决方案:

在报错的地方打断点,发现是Float32Array不支持slice()方法,但是支持subarray(),就给Float32Array对象增加一个subarray()方法,代码如下:

1
2
3
4
5
if(!Float32Array.prototype.slice){
        Float32Array.prototype.slice = function(){
            return new Float32Array(this).subarray(this.arguments);
        }
    };

注意:这个引用一定要在出错的文件之前,我是echarts.js报错,所以就在页面加载echarts.js之前加载上述代码