javascript - 未捕获的语法错误 : Unexpected token =

标签 javascript d3.js

我刚刚从使用缩小版 d3.v3 的本地副本切换到开发版。使用缩小版本时效果很好,但使用我的本地副本 http://d3js.org/d3.v3.js给我标题中的错误,引用这一行:

var € = Math.PI, µ = 1e-6, d3_radians = € / 180, d3_degrees = 180 / €;

当我包含托管文件时,它工作正常。

最佳答案

问题是您使用 ISO-8859-1 字符编码(通常是浏览器默认设置)为 D3 提供服务,而 D3 必须使用 UTF-8 编码提供服务。通常发生这种情况是因为您在加载 HTML 页面的顶部缺少元标记:

<!DOCTYPE html>
<meta charset="utf-8">

需要元指定的字符集,因为 d3js.orgGitHub Pages 提供服务并且不在 Content-Type 响应 header 中指定字符集。因此,字符集是从加载的 HTML 文档中推断出来的。

如果您愿意,可以在脚本标签上指定字符集属性。确保在测试之前清除浏览器缓存,因为缓存的副本将保留最初访问时的字符编码:

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

缩小版本不会出现此错误,因为变量名已替换为 ASCII 等价物。 (如果格式字符串中的 UTF-8 字符同样被转义序列替换,我不记得了,但我仍然建议在所有情况下都将 D3 用作 UTF-8。)

如果您通过在浏览器中查看源代码然后使用复制粘贴来下载 D3,也会发生编码问题,这就是为什么我建议下载 d3.v3.zip .

关于javascript - 未捕获的语法错误 : Unexpected token =,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080401/

相关文章:

javascript - 是否有另一种方法对 TextBox 使用 onTextChanged 并避免每次刷新页面?

javascript - 根据属性从数组中获取对象

select - 如何选择 :last-child in d3. js?

javascript - 在第一个空格之后和特殊字符的第一个实例之前获取子字符串?

javascript - 连续鼠标点击事件

javascript - 在 yeoman angularjs 中使用模拟文件夹进行 karma 测试

javascript - 网站的 id 传递替代方案

reactjs - 在react-vis时间刻度轴中设置24小时时间格式

d3.js - 如何从 110m TopoJson 世界地图中删除一条线?

javascript - 在生成 d3 图之前过滤数据