Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript不会运行,但可以在JSFIDLE中工作_Javascript_Html - Fatal编程技术网

JavaScript不会运行,但可以在JSFIDLE中工作

JavaScript不会运行,但可以在JSFIDLE中工作,javascript,html,Javascript,Html,我在JSFIDLE中有以下测试项目,它按预期运行,JSLint报告代码有效 然后我将html复制并粘贴到记事本中的空白文本文件中,并另存为randomfilename.html 当我单击html文件时,我会看到文件选择器,我可以选择文件,但图表不会呈现。你知道为什么吗?我试过IE、Chrome和Firefox,但都没有图表 多谢各位 编辑:这是我现在在一个名为randomfilename.html的文本文件中的内容 它不工作了 Chrome 21.0.1180.89 m还是最新的firefox/

我在JSFIDLE中有以下测试项目,它按预期运行,JSLint报告代码有效

然后我将html复制并粘贴到记事本中的空白文本文件中,并另存为randomfilename.html

当我单击html文件时,我会看到文件选择器,我可以选择文件,但图表不会呈现。你知道为什么吗?我试过IE、Chrome和Firefox,但都没有图表

多谢各位

编辑:这是我现在在一个名为randomfilename.html的文本文件中的内容

它不工作了

Chrome 21.0.1180.89 m还是最新的firefox/IE

<!DOCTYPE html>
<html>

<script src="http://code.highcharts.com/stock/highstock.js"></script>
<script src="http://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input type="file" id="files" name="file" />
<div id="container" style="height: 500px; min-width: 500px"></div>
<div id="testString"></div>

<script>

var dataString = new Array (
[1341187200000,592.52],[1341273600000,599.41],[1341446400000,609.94],[1341532800000,605.88],[1341792000000,613.89],[1341878400000,608.21],
[1341964800000,604.43],[1342051200000,598.90],[1342137600000,604.97],[1342396800000,606.91],[1342483200000,606.94],[1342569600000,606.26],
[1342656000000,614.32],[1342742400000,604.30],[1343001600000,603.83]);

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;
                document.getElementById('testString').innerHTML=contents;
                var gx;   
                gx=dataString;            
                renderChart(gx);  
}    
        })(reader);

        reader.readAsText(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
                }
            }]
        });
    };


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

我认为您忘了包括jQuery库。当使用JSFIDLE时,它允许您指定一个JS库,该库将自动包含在您的HTML中,而您实际上看不到它。从JSFIDLE复制/粘贴HTML时,不会复制包含的jQuery库。尝试添加以下内容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
仅在您复制/粘贴到的文本文件中的其他标记上方…您不需要在JSFIDLE中执行此操作,因为它是自动完成的


这并不是说这会破坏它,但是您的HTML中也缺少一个and部分。我不确定HTML5是否将此选项设置为可选,但您可能希望添加这些选项。即使是空的,它也应该包括在内……并且当前代码中的所有代码都应该包含在嵌套代码中。

我认为您忘记了包含jQuery库。当使用JSFIDLE时,它允许您指定一个JS库,该库将自动包含在您的HTML中,而您实际上看不到它。从JSFIDLE复制/粘贴HTML时,不会复制包含的jQuery库。尝试添加以下内容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
仅在您复制/粘贴到的文本文件中的其他标记上方…您不需要在JSFIDLE中执行此操作,因为它是自动完成的



这并不是说这会破坏它,但是您的HTML中也缺少一个and部分。我不确定HTML5是否将此选项设置为可选,但您可能希望添加这些选项。即使是空的,它也应该包括在内……并且当前文件中的所有代码都应该包含在嵌套文件中。

在复制粘贴之后是否包含jQuery?为什么不将js放在js区域?不,我没有。如果我试图在没有服务器的情况下测试这个问题,是否有一个外部地址可以用于src=jquery.js?在过去的两天里,我才开始接触JS,所以我有点不知所措:你必须先包括jQuery,你真的应该包括并把这段代码放在其中。你在复制粘贴后包括jQuery了吗?为什么不把JS放在JS区域?不,我没有。如果我试图在没有服务器的情况下测试这个问题,是否有一个外部地址可以用于src=jquery.js?在过去的两天里,我才开始学习JS,所以我有点不知所措:你必须首先包括jQuery,你真的应该包括并把这段代码放在代码中。除非我忽略了它,否则代码似乎不需要jQuery。@CoreyOgburn它显然不需要。但是如果您注意到Highcharts库,它需要jQuery。简单地看一下他们的网站就可以证明:看第1步:安装尼斯捕获下的第1步。我没有使用lib的经验,可能会犯与OP相同的错误。@CoreyOgburn没问题。我想我知道是因为我以前看过图书馆。这也让我觉得有些东西需要jQuery,因为jsFiddle中的设置不是默认的框架MooTools 1.4.5除非我忽略了jQuery,否则代码似乎不需要jQuery。@显然不需要。但是如果您注意到Highcharts库,它需要jQuery。简单地看一下他们的网站就可以证明:看第1步:安装尼斯捕获下的第1步。我没有使用lib的经验,可能会犯与OP相同的错误。@CoreyOgburn没问题。我想我知道是因为我以前看过图书馆。这也让我觉得有些东西需要jQuery,因为JSFIDLE中的设置不是默认的框架MooTools 1.4.5