1

我们正在尝试熟悉 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 文件或重构脚本以访问本地文件?

4

1 回答 1

6

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

  1. 安装蟒蛇

  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. 该示例应该显示出来。

于 2013-06-13T03:13:47.193 回答