我只是尝试使用d3.js v5来获取CSV文件。数据获取在Internet Explorer 10+以外的所有浏览器中都可以正常工作。
d3.csv("test.csv").then(function (data) {
console.log(data);
});
这表明Internet Explorer中未定义错误提取。
我正在使用d3.v5.min.js。
d3.csv
(和其他所有D3提取方法)在内部使用Fetch API。如果在浏览器兼容性表中的MDN页面上查看,则会看到Internet Explorer不支持Fetch API(任何版本,如您所提问题,不仅是10+)。
因此,解决方案是将polyfill用于Fetch(以及关于promise的信息,请参见下面的注释)。在线有多个选项。
作为建议,而不是嗅探用户代理,请尝试检查浏览器是否支持提取。可能最简单的方法是使用window.fetch
。以下代码段将在大多数浏览器中记录真实值,而在IE中(以及在不支持Fetch的其他浏览器中,如果存在的话)记录一个假值:
console.log(window.fetch)
因此,在您的代码中,您将执行以下操作:
if(!window.fetch){
//load the polyfill here
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句