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

Inf*_*ogy 0 javascript d3.js

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

使用可通过路径访问的d3.v2.js版本,Gist示例在Chrome和Safari中均可正常工作:

<script type="text/javascript" src="http://mbostock.github.com/d3/d3.js?2.4.5"></script>
Run Code Online (Sandbox Code Playgroud)

您可以按照以下路径访问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>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我在d3.js文件中看到一个错误,显示" [错误]语法错误:无效字符'\ u8364'(d3.js,第1175行) "此外,在这种情况下,节点列不变成一个超链接(即链接的完整路径呈现为文本,而不是超链接).(这与Chrome和Safari都是一致的.)


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

Lar*_*off 6

版本3中的D3在某些代码中使用unicode字符作为变量名称(特别是投影代码中的希腊字母).包含脚本时,需要指定字符编码,即

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

请注意charset="utf-8".