browser cross-browser d3.js

browser - Soporte del navegador D3.JS



cross-browser (2)

¿Podría un desarrollador con experiencia en D3.JS indicar qué navegadores específicos y niveles de versión de navegador soportan más fácilmente la biblioteca D3.JS?

¿Hay una lista de "componentes" D3.JS que se sabe que no son compatibles con los navegadores específicos y los niveles de versión del navegador?

El sitio web D3.JS sugiere:

Soporte del navegador

D3 es compatible con los llamados navegadores "modernos", que generalmente significa todo, excepto IE8 y versiones inferiores. D3 está probado contra Firefox, Chrome (Chromium), Safari (WebKit), Opera e IE9. Partes de D3 pueden funcionar en navegadores más antiguos, ya que la biblioteca central D3 tiene requisitos mínimos: JavaScript y W3C DOM API. Para IE8, se recomienda la biblioteca de compatibilidad Aight. D3 usa el Nivel 1 de la API Selectores, pero puede precargar a Sizzle para compatibilidad. Necesitará un navegador moderno para usar las Transiciones SVG y CSS3. D3 no es una capa de compatibilidad, por lo que si su navegador no admite estándares, no tiene suerte. ¡Lo siento!"

Sin embargo, esperaba una respuesta más específica.


D3 es una biblioteca para la manipulación de datos con muchas herramientas auxiliares para visualizaciones de datos usando SVG y Canvas.

D3 está diseñado para darle acceso directo a todas las funciones subyacentes de HTML y SVG. Esto significa que la compatibilidad entre navegadores está limitada por los elementos y atributos que usa su código en lugar de D3.

Aquí hay algunos ejemplos para HTML5 y CSS3 :

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

y uno para SVG y SMIL :

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

y uno para Canvas :

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

Si consideramos solo el propio marco D3 (por ejemplo, para usar solo las funciones de proyección geográfica, pero no los elementos DOM, etc.), la compatibilidad entre navegadores está limitada por la compatibilidad con el navegador de ECMAScript 5 debido al uso intensivo del map , forEach , etc.


Voy a dar un paso aquí y equiparar el soporte de SVG con el soporte D3, ya que (en mi opinión) esa es la parte más útil de la biblioteca.

Con esto en mente, este enlace debe darle las versiones exactas del navegador que lo soportan: http://caniuse.com/svg

Y esto coincide con lo que pegó del sitio D3: básicamente, todos los principales proveedores de navegadores, excepto IE, tienen soporte SVG para muchas versiones diferentes.

Tu pregunta dice "en la práctica" y eso significa SVG. Sí, sé que hay algunas muestras del uso de D3 con las partes no SVG del DOM, pero la gran mayoría de los ejemplos en la gallery están basados ​​en SVG.