Chrome无法正确呈现SVG

时间:2016-05-26 18:54:16

标签: google-chrome d3.js svg reactjs rendering

在渲染包含一堆矩形的SVG时,使用D3,React,Redux Web应用程序并遇到一个有趣的错误。

申请摘要

  1. 我们使用D3 Partition Layout生成一个巨大的(~3000)节点列表来设置适当的布局属性(x,y,dx,dy)。
  2. 我们使用React / Redux来存储此状态,并最终为图表呈现SVG。
  3. 问题

    • 渲染的SVG中的某些节点(呈现为rects)根本不显示!

    理论

    1. 最初,我们认为我们有一个关于如何生成矩形的错误,但结果并非如此(具有正确属性的dom中存在Rects)。
    2. 我们正在渲染除了rects之外的其他东西,所以当浏览器绘制所有东西时我们认为这些是冲突的。这似乎并非如此,因为我们禁用了所有其他项目,我们仍然看到了问题。
    3. 渲染rects时可能是browser bug。我们的应用程序目前甚至无法在Firefox上正常呈现,因此它可能与我们如何生成SVG有关。
    4. 示例

      以下是我们所谈论的一些例子。

      以下是使用其所有节点正确呈现图表的示例。 A good chart

      以下是缺少部分节点的图表渲染示例: enter image description here

      这是一个相同图表的示例,在我们alt选项卡几次之后神奇地破坏了: enter image description here

      问题

      我们正在寻找的是来自SVG渲染经验丰富的人们的想法。有很多可能性,但我们不确定我们应该考虑哪个方向。

      谢谢!

0 个答案:

没有答案