我刚刚从d3js.org下载了D3.js(链接到zip文件),解压缩它,并在以下HTML页面中引用它:
<html>
<head>
<title>D3 Sandbox</title>
<style>
</head>
<body>
<script src="/d3.v3.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是当我加载这个页面时,我的控制台(在Chrome中)给了我这个错误:
Uncaught SyntaxError: Unexpected token ILLEGAL: line 2
Run Code Online (Sandbox Code Playgroud)
它不喜欢文件开头的pi和e符号.Errrr ......我能做些什么呢?我正在使用python的SimpleHTTPServer提供文件.
更新:是的我知道我可以链接到CDN版本,但我更愿意在本地提供文件.
Lau*_*gou 132
尝试在HTML主机文档上指定UTF-8字符集:
<meta http-equiv="content-type" content="text/html; charset=UTF8">
D3在非UTF8文档中包含UTF-8符号(如π)invalids.
这听起来像编码问题.我建议绝对最低限度每个软件开发人员必须首先了解Unicode和字符集(没有借口!).尽管有一些居高临下的标题,但它包含一些非常有用的信息.具体来说,听起来您的服务器正在d3.v3.js使用错误的编码来提供文件.
添加'charset ="utf-8"'
<script src="/d3.v3.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)
我尝试在doc和script标签中设置charset,但Chrome似乎并不关心.不确定我是否做错了什么.
我确实通过首先使用--ascii-only选项通过uglify运行它来找到成功.
更新:原来我在Chrome中的视图 - >编码设置不是自动检测,而是一些西方编码.不知道为什么,但改变解决了这个问题.荒谬的是,该设置将胜过脚本标签上的charset属性.考虑到用户可能处于相同的情况而无法弄明白,我仍然会使用uglify来确保成功.
| 归档时间: |
|
| 查看次数: |
21276 次 |
| 最近记录: |