javascript - 如何运行 Mike Bostock 的 D3 示例?

标签 javascript json d3.js

我一直在尝试运行 Mike Bostock 的 See-Through Globe例如,但是如果您尝试在本地复制它,对他的 json 文件的引用是不正确的。

问题来自这行代码:

d3.json("/mbostock/raw/4090846/world-110m.json", function(error, topo) {
      var land = topojson.feature(topo, topo.objects.land),
          grid = graticule();
});

我遵循了这个例子: d3: us states in topojson format filesize is way too large

并尝试更改这些变体的 url 以更好地为外部用户引用这些文件;

"https://raw.github.com/mbostock/topojson/master/examples/world-110m.json"
"https://render.github.com/mbostock/topojson/master/examples/world-110m.json"
"http://bl.ocks.org/mbostock/raw/4090846/world-110m.json"

但我从未被允许访问。关于如何正确引用 json 文件的任何想法?

我也试过他的其他例子,每次都遇到同样的问题。有没有其他人成功重现这些示例?

fiddle 中重现的问题:http://jsfiddle.net/agconti/wBfLd/

Link to gallery example

Link to github gist

最佳答案

由于同源策略,您无法访问远程 json 文件。而且您将无法使用 file: 协议(protocol)检索 JSON 对象。除非您想通过直接嵌入 JSON 对代码进行手术,否则您将不得不运行本地服务器。

运行本地 Web 服务器的一种简单方法是执行:

python -m SimpleHTTPServer 8888 &

从您站点的“根”目录,然后通过 http://localhost:8888 访问它

关于javascript - 如何运行 Mike Bostock 的 D3 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030503/

相关文章:

javascript - 包含单独的 HTML,其中包含 <head> 中的代码

javascript - 如何在 JointJs 中创建由 2 个或更多基本形状组成的自定义形状?

java - org.json.JSONObject 无法转换为 JSONArray

php - 我如何将 json 从 php 传递到 js 并对其进行操作?

javascript - 在 foreach 中提交表单

javascript - 使用 Bootstrap 使用折叠/ Accordion 在网格中显示元素

javascript - 从 JSON 字符串中获取数据

svg - 如何使用d3.js更新现有svg元素的填充颜色?

javascript - 用数组绘制D3简单折线图

javascript - %H :%M:%S strings to timespan? 有什么好的转换方法