D3.JS浏览器支持
具有D3.JS经验的开发人员是否可以指出实际上特定的浏览器和浏览器版本级别最容易支持D3.JS库?
是否有一个D3.JS的“组件”列表,已知不兼容特定的浏览器和浏览器版本级别?
D3.JS网站build议:
浏览器支持
D3支持所谓的“现代”浏览器,这通常意味着除了IE8及以下的所有东西。 D3针对Firefox,Chrome(Chromium),Safari(WebKit),Opera和IE9进行testing。 D3的部分function可以在较旧的浏览器中使用,因为D3的核心库具有最低要求:JavaScript和W3C DOM API。 对于IE8,build议使用兼容性库Aight。 D3使用select器API级别1,但是可以预先加载Sizzle以实现兼容性。 你需要一个现代的浏览器来使用SVG和CSS3转换。 D3不是一个兼容性层,所以如果你的浏览器不支持标准,那你倒霉了。 抱歉!”
不过,我希望得到更具体的答案。
因为(在我看来)这是图书馆最有用的部分,所以我要在这里出面讨论SVG支持和D3支持。
考虑到这一点,这个链接应该给你支持它的确切的浏览器版本: http : //caniuse.com/svg
这与你从D3网站粘贴的内容是一致的:基本上除了IE之外,其他所有的浏览器厂商都支持SVG。
你的问题说“在实践中”,这意味着SVG。 是的,我知道有一些D3的非SVG部分使用D3的示例,但是绝大多数示例都是基于SVG的。
D3是一个用于数据操作的库,有很多帮助工具用于使用SVG和Canvas进行数据可视化。
D3旨在让您直接访问HTML和SVG的所有基础function。 这意味着,跨浏览器兼容性受限于代码使用的元素和属性,而不是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
,等等