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
};