javascript - HighCharts:从 csv 文件加载,HTML/JS 中的空白页面

标签 javascript jquery html csv highcharts

下面有以下 HTML/JS(取自 Highcharts 示例),旨在从 CSV 文件加载一些基本数据。但加载 .htm 时,它只是空白。

我尝试过各种方法,例如在 IE 中使用 F12 查看控制台;没有错误。如果我查看源代码,我可以正确地看到应有的 HTML。但该页面只是空白。如果我使用 IE 的调试器并在 .get() 行上放置断点,Step Into 似乎会跳到右 get 括号的底部?

CSV 文件与 .htm 位于同一文件夹中,数据如下所示:

 DateTime,Count
    10/11/2016 00:00:00,20
    10/12/2016 00:00:00,12
    10/13/2016 00:00:00,5

我确认文件末尾没有空行。

HTML/JS:

<!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">
   $(document).ready(function() {
    // Get the CSV and create the chart
    $.get('count_changes.csv', function (data) {

        $('#container').highcharts({

            data: {
                csv: csv
            },

            title: {
                text: 'Daily visits at www.highcharts.com'
            },

            subtitle: {
                text: 'Source: Google Analytics'
            },

            xAxis: {
                tickInterval: 7 * 24 * 3600 * 1000, // one week
                tickWidth: 0,
                gridLineWidth: 1,
                labels: {
                    align: 'left',
                    x: 3,
                    y: -3
                }
            },

            yAxis: [{ // left y axis
                title: {
                    text: null
                },
                labels: {
                    align: 'left',
                    x: 3,
                    y: 16,
                    format: '{value:.,0f}'
                },
                showFirstLabel: false
            }, { // right y axis
                linkedTo: 0,
                gridLineWidth: 0,
                opposite: true,
                title: {
                    text: null
                },
                labels: {
                    align: 'right',
                    x: -3,
                    y: 16,
                    format: '{value:.,0f}'
                },
                showFirstLabel: false
            }],

            legend: {
                align: 'left',
                verticalAlign: 'top',
                y: 20,
                floating: true,
                borderWidth: 0
            },

            tooltip: {
                shared: true,
                crosshairs: true
            },

            plotOptions: {
                series: {
                    cursor: 'pointer',
                    point: {
                        events: {
                            click: function (e) {
                                hs.htmlExpand(null, {
                                    pageOrigin: {
                                        x: e.pageX || e.clientX,
                                        y: e.pageY || e.clientY
                                    },
                                    headingText: this.series.name,
                                    maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) + ':<br/> ' +
                                        this.y + ' visits',
                                    width: 200
                                });
                            }
                        }
                    },
                    marker: {
                        lineWidth: 1
                    }
                }
            },

            series: [{
                name: 'All visits',
                lineWidth: 4,
                marker: {
                    radius: 4
                }
            }, {
                name: 'New visitors'
            }]
        });
    });

});
        </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>

最佳答案

发现了这个:

您需要一个服务器,因为您无法在 file://URL 处发出 XMLHttpRequest

uploading external csv file to highcharts not working

关于javascript - HighCharts:从 csv 文件加载,HTML/JS 中的空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516158/

相关文章:

jquery - 使用 jQuery 滚动到灯箱 div 的顶部

css - 如何将此按钮链接到另一个页面

javascript - 以下算法的 3Sum 问题的时空复杂度是多少?

javascript - 通过将自定义指令分配给 Controller 范围来动态加载自定义指令

javascript - 如何在数组中存储排序值的索引键?

HTML/CSS 等列高度

javascript - 如何使用媒体源 api 将两个视频文件数据附加到源缓冲区?

JavaScript:clearInterval不会清除间隔

javascript - 如何正确存储复杂的 jquery 选择器链以供重用?

javascript - 来自 Accordion 的可拖动 div