使用可排序表时出现d3.v3错误

d3.v3 bug when working with sortable tables?

本文关键字:d3 v3 错误 排序      更新时间:2023-09-26

我有一个示例D3Javascript代码(位于此处),它创建了混合文本、链接和条形图的表。。。使用D3.js库。

Gist示例在Chrome和Safari中都运行良好,使用的d3.v2.js版本可以通过以下路径访问:

<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?2.4.5"></script>

您可以通过以下路径访问d3.v2.js源代码:"http://mbostock.github.com/d3/d3.js(这似乎告诉我,我指向的是版本"d3.v2.js")。

重要提示:在这种情况下,我知道代码运行良好,因为"节点"列都是"可钻取"的HTML超链接。当我尝试使用d3.v3…时,问题似乎就开始了

注意:我下载了d3.v3,并使用可排序表示例的本地副本(读者可以从中获得:http://bl.ocks.org/Guerino1/6366020)。我指出了d3.v3.js库的两个版本(普通版和缩小版),发现了两个不同的问题。。。


问题#1:在第一种情况下,我将未缩小的文件"d3.v3.js"复制到"d3.js"的本地副本中,并使用以下命令访问它:

<script type="text/javascript" src="../LIBS/D3/d3.js"></script>

执行此操作时,我在d3.js文件中收到一个错误,该错误为"[error]SyntaxError:无效字符'''u8364'(d3.js,第1175行)"。此外,在这种情况下,节点列不会变成超链接(即,链接的完整路径将显示为文本,而不是超链接)。(这在Chrome和Safari中都是一致的。


问题#2:在第二种情况下,我将缩小后的文件"d3.v3/d3.v3.min.js"复制到d3.js的本地副本,并使用上面的相同路径访问它。在第二种情况下,我没有得到错误,但第一列中的节点仍然没有变成超链接(即链接的完整路径被呈现为文本,而不是超链接)。(这在Chrome和Safari中都是一致的。

版本3中的

D3在某些代码中使用unicode字符作为变量名(尤其是投影代码中的希腊字母)。当包含脚本时,您需要指定字符编码,即

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

注意charset="utf-8"