Browser D3.JS浏览器支持

Browser D3.JS浏览器支持,browser,cross-browser,d3.js,Browser,Cross Browser,D3.js,具有D3.JS经验的开发人员能否指出,实际上哪些特定的浏览器和浏览器版本级别最容易支持D3.JS库 是否有已知与特定浏览器和浏览器版本级别不兼容的D3.JS“组件”列表 D3.JS网站建议: D3支持所谓的“现代”浏览器,这通常意味着除IE8及以下版本之外的所有浏览器。D3针对Firefox、Chrome、Safari、Opera和IE9进行了测试。D3的某些部分可以在较旧的浏览器中工作,因为核心D3库具有最低的要求:JavaScript和W3CDOMAPI。对于IE8,建议使用兼容性库Aigh

具有D3.JS经验的开发人员能否指出,实际上哪些特定的浏览器和浏览器版本级别最容易支持D3.JS库

是否有已知与特定浏览器和浏览器版本级别不兼容的D3.JS“组件”列表

D3.JS网站建议:

D3支持所谓的“现代”浏览器,这通常意味着除IE8及以下版本之外的所有浏览器。D3针对Firefox、Chrome、Safari、Opera和IE9进行了测试。D3的某些部分可以在较旧的浏览器中工作,因为核心D3库具有最低的要求:JavaScript和W3CDOMAPI。对于IE8,建议使用兼容性库Aight。D3使用选择器API级别1,但您可以预加载Sizzle以实现兼容性。您需要一个现代化的浏览器来使用SVG和CSS3转换。D3不是一个兼容层,所以如果你的浏览器不支持标准,你就倒霉了。很抱歉"


然而,我希望得到一个更具体的答案。

我将在这里冒险,将SVG支持与D3支持等同起来,因为(在我看来)这是库中最有用的部分

考虑到这一点,此链接应为您提供支持它的确切浏览器版本:

这与您从D3站点粘贴的内容相匹配:基本上,除了IE之外,所有主要的浏览器供应商都对许多版本支持SVG


您的问题是“在实践中”,这意味着SVG。是的,我知道有一些使用D3处理DOM中非SVG部分的示例,但中的绝大多数示例都是基于SVG的。

D3是一个用于数据操作的库,有许多辅助工具用于使用SVG和画布进行数据可视化

D3旨在让您直接访问HTML和SVG的所有底层功能。这意味着,跨浏览器兼容性受到代码使用的元素和属性的限制,而不是D3本身

以下是和的一些示例:

一个用于和:

一个用于:


如果只考虑D3框架本身(例如只使用地质投影函数,而不使用DOM元素等)。,由于大量使用

map
forEach
等,跨浏览器的兼容性受到浏览器支持的限制。

在没有SVG的情况下使用D3真的很简单。D3在旧IE浏览器中出现中断有不同的原因。peter,你能分享一些如何在没有SVG的情况下使用D3的链接/示例吗?javascript.map方法(例如,我通过enter、update、exit模式使用一个DIV创建了一个动态条形图。效果很好。这是一个很好的答案。
// Requires HTML5
d3.select('body').append('nav');

// Requires CSS3 transformations
d3.select('div').style('transform', 'matrix(1, -0.3, 0, 1, 0, 0)');
// Requires SMIL
d3.select('rect').append('animate')
   .attr('attributeName', 'x')
   .attr('from', 10)
   .attr('to', 50);
// Requires Canvas
d3.select('body').append('canvas');