0

私はJavascriptを初めて使用するので、お詫びします。

このリンクjsonp.phpには、AJAXリクエストを使用して名前が付けられたファイルのグラフデータが含まれています。

これを再作成しようとしていますが、サーバーのファイルではなくローカルファイルを使用しています。サンプルファイルをダウンロードjsonp.phpしてデスクトップに保存できます。

ファイルを開いて読み取ることができるこのコードをまとめることができました。

<!DOCTYPE html>
<html>

<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>

<input type="file" id="files" name="file" />
<div id="container" style="height: 500px; min-width: 500px"></div>?

<script>
function handleFileSelect(evt)
{
    var files = evt.target.files; // FileList object

    for (var i = 0, f; f = files[i]; i++)
    {

        var reader = new FileReader();
        reader.onload = (function(reader)
        {
            return function()
            {
                var contents = reader.result;
                //var lines = contents.split('\n');
                //example('test')
                //////
                //document.getElementById('container').innerHTML=contents;
            }
        })(reader);

        reader.readAsText(f);
    }
}

//function example(a)
//{
//alert('You have chosen: ' + a);
//}

document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</html>

現在、両方のスクリプトを組み合わせて、グラフとローカルファイルを表示しようとしています(リンクを参照)。ajax呼び出しを削除して、で関数を呼び出そうとしましたrenderChart(f)

function renderChart(data) {
    // Create the chart
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'container'
        },

        rangeSelector : {
            selected : 1
        },

        title : {
            text : 'AAPL Stock Price'
        },

        series : [{
            name : 'AAPL',
            data : data,
            tooltip: {
                valueDecimals: 2
            }
        }]
    });
});

動作していません。どこが悪いのか聞いてもいいですか

ありがとうございました

4

1 に答える 1

2

送信したJSFiddleにいくつかの構文エラーがありました。これは、基本的なエラーが解決された新しいJSFiddleです。ただし、Highchartsで必要になるようにフォーマットされたファイルを使用しようとはしませんでした。

ヒント:ChromeのJavascriptコンソールを使用してエラーを確認してください。

于 2012-09-12T10:09:02.077 に答える