У меня есть приложение, которое использует D3.js, но я должен сделать его совместимым с IE8 ... Поэтому я использовал R2D3.js, который, кажется, действительно хорошая альтернатива для манипуляции SVG. Но для основных тегов ...Недопустимый аргумент в IE8 с использованием R2D3.js при добавлении тега 'tr'
Я использую его для управления данными внутри таблицы, но когда дело доходит до добавления новой строки, IE говорит:
Line: 8450/Error: Invalid argument.
Я посмотрел вокруг, но я нашел, нет ключ к разгадке.
Вот простой пример моего кода:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!--[if lte IE 8]><script src="r2d3.js" charset="utf-8"></script><![endif]-->
<!--[if gte IE 9]><!-->
<script src="d3.min.js" charset="utf-8"></script>
<!--<![endif]-->
</head>
<body>
<table>
</table>
<script>
var dataset = [
{
name: 'Foo',
age: 42
},
{
name: 'Bar',
age: 21
}
];
var table = d3.select('table');
table.selectAll('tr').data(dataset)
.enter().append('tr')
.selectAll('td')
.data(function(d) {
return [d.name, d.age];
})
.enter().append('td')
.text(function(d) {return d});
</script>
</body>
<html>
Это отлично работает с Firefox, но падает на IE8.
Адрес JSFiddle.
Может ли кто-нибудь помочь мне с этим?
спасибо.
Я не очень тщательно анализировал код, но я уверен, что он использует настраиваемую функцию для полирования addEventListener. Вся точка R2D3 заключается в том, что она поддерживает polyfilles IE7/8. – AmeliaBR
Хорошо. Но как это работает с элементом SVG? Должна ли она не срабатывать, как для базового элемента? – ChibiTomo