Microsoft Stack中的D3示例

时间:2013-06-13 01:31:25

标签: javascript asp.net file-io d3.js

我们正在尝试熟悉D3(http://d3js.org/),特别是http://bl.ocks.org/mbostock/3306362http://bl.ocks.org/mbostock/2206590等示例。似乎所有这些示例都使用本地文件IO来加载地理定位信息。以下代码片段很常见:

queue()
.defer(d3.json, "/mbostock/raw/4090846/us.json")
.defer(d3.tsv, "unemployment.tsv")
.await(ready)

而其他样本通常使用此签名来加载数据:

d3.json("someJSONFile.json", function(error, uk) {
console.log(uk);
});

我们已经创建了几个本地html文件来测试样本,但我们遇到了安全问题。很明显,脚本正在访问一个本地文件,这实际上是在Microsoft堆栈中给我们带来问题(Apple或Linux目前不是一个选项,尽管我们已经尝试过Chrome,但没有成功)。我们如何启用html文件或重构脚本以访问本地文件?

1 个答案:

答案 0 :(得分:6)

您需要通过Web服务器托管文件,因为Web浏览器限制可以在本地访问哪些类型的文件。在Windows机器上执行此操作的最简单方法:

  1. 安装python

  2. 导航到包含cmd.exe示例的目录。按住shift键,右键单击带有示例的文件夹并选择Open Command Window Here是最简单的方法。

  3. 在命令提示符下,在较新版本上输入python -m SimpleHTTPServer 8000python -m http.server 8000以启动Web服务器。

  4. 打开网页浏览器(我真的建议使用chrome,开发工具远远超过ff和ie),转到127.0.0.1:8000。这个例子应该出现了。