Подтвердить что ты не робот

Поддержка браузера D3.JS

Может ли разработчик с опытом D3.JS указать, какие конкретные браузеры и уровни версии браузера на практике наиболее легко поддерживают библиотеку D3.JS?

Есть ли список компонентов D3.JS, которые, как известно, не совместимы с конкретными браузерами и уровнями версий браузера?

Сайт D3.JS предлагает:

Поддержка браузера

D3 поддерживает так называемые "современные" браузеры, что обычно означает все, кроме IE8 и ниже. D3 протестирован против Firefox, Chrome (Chromium), Safari (WebKit), Opera и IE9. Части D3 могут работать в старых браузерах, поскольку основная библиотека D3 имеет минимальные требования: JavaScript и W3C DOM API. Для IE8 рекомендуется использовать библиотеку совместимости Aight. D3 использует API-интерфейс Selectors API 1, но вы можете предварительно загрузить Sizzle для обеспечения совместимости. Для использования переходов SVG и CSS3 вам понадобится современный браузер. D3 не является уровнем совместимости, поэтому, если ваш браузер не поддерживает стандарты, вам не повезло. Извините! "

Однако я надеялся на более конкретный ответ.

4b9b3361

Ответ 1

Я собираюсь выйти на конечность здесь и приравнять поддержку SVG с поддержкой D3, поскольку (на мой взгляд) это самая полезная часть библиотеки.

С этой целью эта ссылка должна дать вам точные версии браузера, которые ее поддерживают: http://caniuse.com/svg

И это соответствует тому, что вы вставили с сайта D3: в основном у каждого крупного поставщика браузеров, кроме IE, была поддержка SVG для многих версий.

В вашем вопросе говорится "на практике", а это означает SVG. Да, я знаю, что есть несколько примеров использования D3 с не-SVG-частями DOM, но подавляющее большинство примеров в gallery - это SVG- на основе.

Ответ 2

D3 - это библиотека для обработки данных с множеством вспомогательных инструментов для визуализации данных с использованием SVG и Canvas.

D3 предназначен для прямого доступа ко всем основным функциям HTML и SVG. Это означает, что совместимость между браузерами ограничена элементами и атрибутами, которые использует ваш код, а не самой D3.

Вот несколько примеров для HTML5 и CSS3:

// Requires HTML5
d3.select('body').append('nav');

// Requires CSS3 transformations
d3.select('div').style('transform', 'matrix(1, -0.3, 0, 1, 0, 0)');

и один для SVG и SMIL:

// Requires SMIL
d3.select('rect').append('animate')
   .attr('attributeName', 'x')
   .attr('from', 10)
   .attr('to', 50);

и один для Canvas:

// Requires Canvas
d3.select('body').append('canvas');

Если мы рассмотрим только саму D3 (например, чтобы использовать только функции геопроекции, но не элементы DOM и т.д.), совместимость между браузерами ограничена поддержкой браузера ECMAScript 5 из-за интенсивного использования map, forEach и т.д.