Не удалось получить данные CSV в Internet Explorer - PullRequest
1 голос
/ 02 июля 2019

Я только что попытался получить файл CSV, используя d3.js v5 .Выборка данных работает нормально во всех браузерах, кроме Internet Explorer 10 + .

d3.csv("test.csv").then(function (data) {
        console.log(data);
});

Это показывает, что выборка ошибок не определена в Internet Explorer.

Яиспользуя d3.v5.min.js.

1 Ответ

1 голос
/ 02 июля 2019

d3.csv (и все остальные методы выборки D3) используют Fetch API для внутреннего использования.Если вы посмотрите на страницу MDN , в таблице совместимость браузера , то увидите, что Fetch API не поддерживается Internet Explorer (любая версия, не только 10+, какВы сказали в своем вопросе).

Поэтому решение заключается в использовании полифилла для Fetch (а также для обещаний, см. комментарии ниже).В сети есть несколько вариантов.

В качестве совета вместо того, чтобы прослушивать пользовательский агент, попробуйте проверить, поддерживает ли браузер Fetch.Вероятно, самый простой способ - использовать window.fetch.Следующий фрагмент будет записывать истинное значение в большинстве браузеров и ложное в IE (и в другом браузере, который не поддерживает Fetch, если он существует):

console.log(window.fetch)

Итак, в своем коде вы делаете что-то вроде этого:

if(!window.fetch){
    //load the polyfill here
};
...