Spotfire Javascript输出消失

Spotfire Javascript输出消失,javascript,html,spotfire,justgage,Javascript,Html,Spotfire,Justgage,我在spotfire文本区域中有一个小javascript。它按设计工作。我救起并关闭了spotfire。重新打开时,它根本不显示。我的代码如下。任何帮助都将不胜感激 资源=[ “//cdn.rawgit.com/toorshia/justgage/master/raphael-2.1.4.min.js”, “//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.8/justgage.js” ] //向头部添加脚本 $.getScript(资源[0],函数

我在spotfire文本区域中有一个小javascript。它按设计工作。我救起并关闭了spotfire。重新打开时,它根本不显示。我的代码如下。任何帮助都将不胜感激

资源=[
“//cdn.rawgit.com/toorshia/justgage/master/raphael-2.1.4.min.js”,
“//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.8/justgage.js”
]
//向头部添加脚本
$.getScript(资源[0],函数(){
$.getScript(资源[1],初始化)
})
var init=函数(){
var g=新的JustGage({
id:“仪表”,
分:0,,
最高:100,
海关部门:[{
“lo”:0,
“你好”:89.999,
“颜色”:“f05050”
},
{
“lo”:90,
“你好”:92.999,
“颜色”:“DD7502”
},
{
“lo”:93,
“嗨”:100,
“颜色”:“#41c572”
}
],
LevelColorsGradent:false
});
//当calcvalue更改时刷新仪表
$(calcValue).on('DOMSubtreeModified',function(){
g、 刷新($(this).text())
})
}

我看了一些例子,应该是:

资源=[
“//cdn.rawgit.com/toorshia/justgage/master/raphael-2.1.4.min.js”,
“//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.8/justgage.js”
]
//向头部添加脚本
$.getScript(资源[0],函数(){
$.getScript(资源[1],初始化)
})
var init=函数(){
var g=新的JustGage({
id:“仪表”,
分:0,,
最高:100,
自定义扇区:{范围:[{
“lo”:0,
“你好”:89.999,
“颜色”:“f05050”
},
{
“lo”:90,
“你好”:92.999,
“颜色”:“DD7502”
},
{
“lo”:93,
“嗨”:100,
“颜色”:“#41c572”
}
]},
LevelColorsGradent:false
});
//当calcvalue更改时刷新仪表
//$(calcValue).on('DOMSubtreeModified',function(){
//g.refresh($(this).text())
//})
window.setInterval(()=>{
g、 刷新(Math.random()*100)
}, 1000)
}

我看了一些例子,应该是:

资源=[
“//cdn.rawgit.com/toorshia/justgage/master/raphael-2.1.4.min.js”,
“//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.8/justgage.js”
]
//向头部添加脚本
$.getScript(资源[0],函数(){
$.getScript(资源[1],初始化)
})
var init=函数(){
var g=新的JustGage({
id:“仪表”,
分:0,,
最高:100,
自定义扇区:{范围:[{
“lo”:0,
“你好”:89.999,
“颜色”:“f05050”
},
{
“lo”:90,
“你好”:92.999,
“颜色”:“DD7502”
},
{
“lo”:93,
“嗨”:100,
“颜色”:“#41c572”
}
]},
LevelColorsGradent:false
});
//当calcvalue更改时刷新仪表
//$(calcValue).on('DOMSubtreeModified',function(){
//g.refresh($(this).text())
//})
window.setInterval(()=>{
g、 刷新(Math.random()*100)
}, 1000)
}

我们的JustGage设置有点不同,但我们遇到了同样的问题,即当在web浏览器等上打开仪表板时,计算结果不会显示出来

问题(至少我认为)是异步代码。 原始代码如下:

    resource=[
     "//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js",
     "//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.9/justgage.js"
    ]


    $.getScript(resource[0],function(){
     $.getScript(resource[1],init3)
    })


    //init3 function generates the gauge chart
    init3 =function(){
      var g3 = new JustGage({
        id: "gaugeIRF", 
        value:  $('#calcValueIRF').text(), 
        min: 0,
        max: 100,
        levelColors : [  "#73CC06", "#dec121",  "#dec121", "#bd5537" ],
        levelColorsGradient: false,
        symbol:'%',
        pointer: true,
        gaugeWidthScale: 0.6,
        counter: true,
        relativeGaugeSize: true,
        title: "IRF Readmission Rate"
      });

      //refresh gauge when calcvalue changes
      $('#calcValueIRF').on('DOMSubtreeModified',function(){
        g3.refresh($(this).text())
      })
    }
init3函数将运行,当浏览器读取init3时,CalcValue将进行计算,但很可能init3将在CalcValue返回数字之前完成运行。这是异步的,并且这两个进程没有按正确的顺序完成。这就是为什么当浏览器打开或返回仪表板时,计算结果不会显示

解决方法是将函数放在适当的位置。函数中的函数按JavaScript的正确顺序运行。以下是我的工作代码:

    resource=[
     "//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js",
     "//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.9/justgage.js"
    ]


    $.getScript(resource[0],function(){
     $.getScript(resource[1],init3)
    })


    //new function to get the calculated value
    function getValue3(){
      var newValue = $('#calcValueIRF').text()
      return newValue
    }


    init3 =function(){
      var g3 = new JustGage({
        id: "gaugeIRF", 
        value:  getValue3(), 
        min: 0,
        max: 100,
        levelColors : [  "#73CC06", "#dec121",  "#dec121", "#bd5537" ],
        levelColorsGradient: false,
        symbol:'%',
        pointer: true,
        gaugeWidthScale: 0.6,
        counter: true,
        relativeGaugeSize: true,
        title: "IRF Readmission Rate"
      });

      //refresh gauge when calcvalue changes
      $('#calcValueIRF').on('DOMSubtreeModified',function(){
        g3.refresh($(this).text())
      })
    }

我们的JustGage设置有点不同,但我们遇到了相同的问题,即当在web浏览器上打开仪表板时,计算结果不会显示

问题(至少我认为)是异步代码。 原始代码如下:

    resource=[
     "//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js",
     "//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.9/justgage.js"
    ]


    $.getScript(resource[0],function(){
     $.getScript(resource[1],init3)
    })


    //init3 function generates the gauge chart
    init3 =function(){
      var g3 = new JustGage({
        id: "gaugeIRF", 
        value:  $('#calcValueIRF').text(), 
        min: 0,
        max: 100,
        levelColors : [  "#73CC06", "#dec121",  "#dec121", "#bd5537" ],
        levelColorsGradient: false,
        symbol:'%',
        pointer: true,
        gaugeWidthScale: 0.6,
        counter: true,
        relativeGaugeSize: true,
        title: "IRF Readmission Rate"
      });

      //refresh gauge when calcvalue changes
      $('#calcValueIRF').on('DOMSubtreeModified',function(){
        g3.refresh($(this).text())
      })
    }
init3函数将运行,当浏览器读取init3时,CalcValue将进行计算,但很可能init3将在CalcValue返回数字之前完成运行。这是异步的,并且这两个进程没有按正确的顺序完成。这就是为什么当浏览器打开或返回仪表板时,计算结果不会显示

解决方法是将函数放在适当的位置。函数中的函数按JavaScript的正确顺序运行。以下是我的工作代码:

    resource=[
     "//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js",
     "//cdnjs.cloudflare.com/ajax/libs/justgage/1.2.9/justgage.js"
    ]


    $.getScript(resource[0],function(){
     $.getScript(resource[1],init3)
    })


    //new function to get the calculated value
    function getValue3(){
      var newValue = $('#calcValueIRF').text()
      return newValue
    }


    init3 =function(){
      var g3 = new JustGage({
        id: "gaugeIRF", 
        value:  getValue3(), 
        min: 0,
        max: 100,
        levelColors : [  "#73CC06", "#dec121",  "#dec121", "#bd5537" ],
        levelColorsGradient: false,
        symbol:'%',
        pointer: true,
        gaugeWidthScale: 0.6,
        counter: true,
        relativeGaugeSize: true,
        title: "IRF Readmission Rate"
      });

      //refresh gauge when calcvalue changes
      $('#calcValueIRF').on('DOMSubtreeModified',function(){
        g3.refresh($(this).text())
      })
    }

示例还需要jquery什么是
init
?@epascarello很抱歉,我在尝试让它正常工作时,将
init=function()
更改为
window.onload=function()
我尝试使用上面相同的代码和不同的值制作3个不同的图表。在spotfire中刷新浏览器时,我无法让它显示仪表的背景,但所有的仪表都乱七八糟,当您修复init和缺少的jQuery时,控制台将向您显示错误。关于梯度的一些内容……示例需要jquery也就是
init
?@epascarello抱歉,我在尝试让它工作时,将
init=function()
更改为
window.onload=function()
我试图使用上面相同的代码和不同的值制作3个不同的图表。在spotfire中刷新浏览器时,我无法让它显示仪表的背景,但所有的仪表都乱七八糟,当您修复init和缺少的jQuery时,控制台将向您显示错误。关于梯度。。。。