以下是我的完整代码。我或多或少地从highcharts网站上的教程中复制了它。 'data.csv'文件与我的HTML文件位于同一文件夹中(我也尝试输入完整的文件路径)。使用断点,我确认正在加载文件中的数据,没有问题。在某个步骤,我无法确定我一直得到错误'e.replace不是一个函数'。我能说的最好的是这是来自一个名为data.js的文件。 'e.replace'的唯一例子是:
parseCSV: function () {
var b = this,
a = this.options,
e = a.csv,
f = this.columns,
d = a.startRow || 0,
c = a.endRow || Number.MAX_VALUE,
h = a.startColumn || 0,
q = a.endColumn || Number.MAX_VALUE,
i,
g,
s = 0;
e && (g = e.replace(/\r\n/g, '\n').replace(/\r/g, '\n').split(a.lineDelimiter || '\n'), i = a.itemDelimiter || (e.indexOf('\t') !== - 1 ? '\t' : ','), j(g, function (a, e) { //SNIP
但如果我在那条线上保留一个断点,执行似乎永远不会去那里......
我的代码:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highcharts Example</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<style type="text/css">
${demo.css}
</style>
<script type="text/javascript">
$(function () {
// Get the CSV and create the chart
$.get('data.csv', function (csv) {
$('#container').highcharts({
data: {
csv: csv
},
chart: {
type: 'column'
},
title: {
text: 'Data Source Test'
},
subtitle: {
text: ''
},
yAxis: { // right y axis
title: {
text: null
}
}
});
});
});
</script>
</head>
<body>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/data.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<!-- Additional files for the Highslide popup effect -->
<script src="https://www.highcharts.com/samples/static/highslide-full.min.js"></script>
<script src="https://www.highcharts.com/samples/static/highslide.config.js" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="https://www.highcharts.com/samples/static/highslide.css" />
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
</body>
</html>
我很抱歉,如果这个问题听起来很愚蠢,但我已经在这2天了,并且已经尝试了所有可能没有运气的互联网搜索。
更新:我终于能够看到错误发生在哪里,我可以确认它是在粘贴在顶部的代码段中。当它到达相关的行时,'e'的值显示为'Document',其位置为'null'。还有很多其他信息,但我不确定哪个有用。如果有任何特殊要求,请告诉我,我会发布。