Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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没有在页面加载时运行…但是Firebug确实运行了吗?_Javascript_Ajax_Graph - Fatal编程技术网

Javascript没有在页面加载时运行…但是Firebug确实运行了吗?

Javascript没有在页面加载时运行…但是Firebug确实运行了吗?,javascript,ajax,graph,Javascript,Ajax,Graph,我有一个使用Envision.js库的销售图。只要Firebug还在运行,它就工作得很好。它将绘制一个介于20-25之间的数字,当我关闭web服务器时,它将以0表示平面线。但如果我关闭firebug,然后刷新;它所做的一切就是在零位保持水平。这与我的ajax函数的位置有关:myFunction(),但我不知道是什么。有人能帮我看一下吗?我什么都没看到。我知道这不是Ajax函数本身,因为我在另一个页面上使用了完全相同的两个函数,它们工作得非常完美。我正在从服务器返回(4&200),所以我不知道…提

我有一个使用Envision.js库的销售图。只要Firebug还在运行,它就工作得很好。它将绘制一个介于20-25之间的数字,当我关闭web服务器时,它将以0表示平面线。但如果我关闭firebug,然后刷新;它所做的一切就是在零位保持水平。这与我的ajax函数的位置有关:myFunction(),但我不知道是什么。有人能帮我看一下吗?我什么都没看到。我知道这不是Ajax函数本身,因为我在另一个页面上使用了完全相同的两个函数,它们工作得非常完美。我正在从服务器返回(4&200),所以我不知道…提前谢谢

//Global Variables//////////



var counter = 0;
var myArray = [25, 24, 23, 22, 21, 20];
var resultToGraph;
var url = "http://myserver.com/ajax_info.txt";
var xmlhttp;
function loadXMLDoc(url, cfunc)
{
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url, true);
    xmlhttp.send();
}

function myFunction(){
    loadXMLDoc(url+'?_dc='+(new Date()).getTime(), function(){
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
             resultToGraph  = myArray[Math.floor((Math.random()*5))];
    }
        else{
            resultToGraph = 0;
        }
    });
}

(function realtime_demo (container) {

  var
    x = [],
    dataA = [],
    data = [[x, dataA]],
    options, i, timesries;

  // Mock Data:
    function sample(i) {    
    x.push(i);
    dataA.push(i);  
    }

  // Initial Data:
    for (i = 0; i < 100; i++) {
    sample(i);
    }

  // Envision Timeseries Options
    options = {
    container : container,
    data : {
        detail : data,
        summary : data
    },
    defaults : {
        summary : {
        config : {
            colors : [ 'red'], //added to code...nothing there initiall**
            handles : { show : true } //changed from false **   
        }
        }
    }
    }

  // Render the timeseries
    timeseries = new envision.templates.TimeSeries(options);

  // Method to get new data
  // This could be part of an Ajax callback, a websocket callback,
  // or streaming / long-polling data source.
    function getNewData () {
    i++;

    // Short circuit (no need to keep going!  you get the idea)
    if (i > 5000) return;
    sample(i);
    animate(i);
    }

  // Initial request for new data
    getNewData();

  // Animate the new data
    function animate (i) {

      var
    start = (new Date()).getTime(),
    length = 500, // 500ms animation length
    max = i - 1,  // One new point comes in at a time
    min = i - 31, // Show 50 in the top
    offset = 0;   // Animation frame offset

    // Render animation frame
    (function frame () {

         var
            time = (new Date()).getTime(),
            tick = Math.min(time - start, length),
        offset = 0;
            //offset = (Math.sin(Math.PI * (tick) / length - Math.PI / 2) + 1) / 2;

      // Draw the summary first
        timeseries.summary.draw(null, {
        xaxis : {
            min : 0,
            max : max + offset
        }
        });

      // Trigger the select interaction.
      // Update the select region and draw the detail graph.
        timeseries.summary.trigger('select', {
        data : {
            x : {
            min : min + offset,
            max : max + offset
            }
        }
        });

        if (tick < length) {
        setTimeout(frame, 0);
        } else {
        // Pretend new data comes in every second
        setTimeout(getNewData, 0);
        }
    })();
    }
}
)(document.getElementById("container"));
//全局变量//////////
var计数器=0;
var myArray=[25,24,23,22,21,20];
var结果图;
变量url=”http://myserver.com/ajax_info.txt";
var-xmlhttp;
函数loadXMLDoc(url,cfunc)
{
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
onreadystatechange=cfunc;
open(“GET”,url,true);
xmlhttp.send();
}
函数myFunction(){
loadXMLDoc(url+'?_dc='+(新日期()).getTime(),函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
resultToGraph=myArray[Math.floor((Math.random()*5));
}
否则{
结果图=0;
}
});
}
(功能实时演示(容器){
变量
x=[],
dataA=[],
数据=[[x,dataA]],
选项,i,时间序列;
//模拟数据:
函数样本(i){
x、 推(i);
数据推送(i);
}
//初始数据:
对于(i=0;i<100;i++){
样本(i);
}
//预想时间序列选项
选项={
货柜:货柜,,
数据:{
详情:数据,
摘要:数据
},
默认值:{
总结:{
配置:{
颜色:['red'],//添加到代码中…没有缩写**
句柄:{show:true}//已从false更改为**
}
}
}
}
//渲染时间序列
timeseries=newenVision.templates.timeseries(选项);
//获取新数据的方法
//这可能是Ajax回调、websocket回调的一部分,
//或流式/长轮询数据源。
函数getNewData(){
i++;
//短路(不需要继续运行!你明白了)
如果(i>5000)返回;
样本(i);
制作动画(一);
}
//对新数据的初始请求
getNewData();
//设置新数据的动画
函数动画(i){
变量
开始=(新日期()).getTime(),
长度=500,//500毫秒动画长度
max=i-1,//一次输入一个新点
min=i-31,//在顶部显示50
偏移量=0;//动画帧偏移量
//渲染动画帧
(功能框架(){
变量
时间=(新日期()).getTime(),
勾号=数学最小值(时间-开始,长度),
偏移量=0;
//偏移量=(Math.sin(Math.PI*(tick)/length-Math.PI/2)+1)/2;
//先画总结
timeseries.summary.draw(null{
xaxis:{
分:0,,
最大值:最大值+偏移量
}
});
//触发选择交互。
//更新选择区域并绘制详图。
timeseries.summary.trigger('select'{
数据:{
x:{
最小值:最小值+偏移量,
最大值:最大值+偏移量
}
}
});
如果(勾号<长度){
设置超时(帧,0);
}否则{
//假装每秒钟都有新数据
setTimeout(getNewData,0);
}
})();
}
}
)(文件.getElementById(“容器”));

不熟悉“Envision.js库”,但对于一些Google脚本,在链接到它之后,可能会出现试图快速运行它的问题。在使用它之前,你有没有尝试过短暂的延迟?这不是我运行Firebug时的问题……javascript似乎表现得非常完美。但是当我关闭它并刷新时…它根本不工作。Firebug强制脚本减慢速度,这可能会给它足够的时间来正确连接。嗯…我会尝试一下。这不是问题所在