【问题标题】:Simplest D3.js example not working最简单的 D3.js 示例不起作用
【发布时间】:2013-05-16 06:25:18
【问题描述】:

我的index.html 文件中有这个,但它没有显示我想用D3 添加的段落

<!DOCTYPE html>
<html>
  <head>
    <title> D3 page template </title>
    <script type="text/javascript" src = "d3/d3.v3.js"></script> 
  </head>

  <body>
    <script type="text/javascript">
        d3.select("body").append("p").text("new paragraph!");
    </script>
  </body>
</html>

我引用D3.js 的路径应该是正确的,因为如果我在浏览器中执行检查元素,我可以单击D3 链接,它会将我带到它的源代码。

【问题讨论】:

  • 它对我有用...
  • 在 d3 的 src 中使用 d3js.org/d3.v3.min.js
  • 还附上了我得到的错误图片。
  • @PrasathK:嗯,是的,它可以直接从网站引用它,但为什么本地的不起作用?
  • 你可能引用错了

标签: javascript d3.js


【解决方案1】:

您的 HTML 页面中缺少字符集。添加如下内容:

<meta charset="utf-8">

D3 的未压缩源包含 pi 的实际符号,如果未定义字符集,浏览器会感到困惑。

【讨论】:

  • 是的,我就是这么想的。也许这是@mbostock 的一项秘密活动,让人们了解 Unicode 和字符集 :-)
  • +1 非常不错的收获!我也想知道为什么我在运行未缩小的代码时出错,而最小代码很好。
【解决方案2】:

我将假设您在没有 Web 服务器的情况下进行测试。如果是这样,那么您的 URL 将读取 file://.. 而不是 http://..

这样,Javascript 请求将转到 file:///.../D3/d3/d3.v3.js,它没有正确的响应标头集,例如字符集和 MIME。

您总是可以从 CDN 获取它来避免这个问题:

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

【讨论】:

  • 谢谢它对我有用。对我来说,我的文件中有以下内容但没有用, 之后,我添加了字符集cdn,成功了。为什么它需要在那里?
【解决方案3】:

遇到了类似的问题。我的问题是我的脚本文件在加载 d3js 库之前正在加载。只需添加 defer 即可解决问题。

&lt;script src="app.js" defer&gt;&lt;/script&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2012-05-13
    • 2012-11-09
    • 1970-01-01
    • 2012-07-01
    • 2015-11-23
    相关资源
    最近更新 更多