使用 setOptions 时 Highcharts 未引用错误
Highcharts not referenced error when using setOptions
我们目前正在使用 DotNet.Highcharts API 将 Highcharts 整合到我们的网站中。但是,我们在使用 .SetOptions(GlobalOptions)
调用时遇到了一些 JavaScript 引用问题。
我们正在使用包装器 class 在控制器中构建我们的图表,然后使用简单的视图来呈现它。
在我们的控制器中:
Chart chart = new HighCharts("chart-id");
chart.SetOptions(new GlobalOptions { Global = new Global { UseUTC = false; } });
chart.SetPlotOptions()...
我们认为:
@model HighchartWrapper
@(Model.Chart)
图表在视图中呈现如下:
<script type="text/javascript">
Highcharts.setOptions({ global: { useUTC: false } });
var chart05;
$(document).ready(function() {
});
</script>
Chrome 正在筹集
"Uncaught ReferenceError: Highcharts is not defined"
.setOptions()
语句出错。如果没有这个(以及 .NET 中相应的 .SetOptions()
语句),图表将正确呈现。如果我离开此页面然后再次返回,图表将开始正确呈现。
我发现操纵 ToHtmlString() return 值以将 .setOptions
调用置于 .ready()
部分内可使图表正确显示。这是其他人不得不采用的方法吗?
你的怀疑是对的,你需要运行准备好文档中的相关代码如下。
$(document).ready(function() {
var chart = new Highcharts.Chart(options);
});
根据文档,一旦 dom 加载,所有示例都会执行,因此可以安全地假设这是最佳实践,并期望在 javascipt 库中,正在执行的代码将取决于.ready
函数。当然,通过源代码挖掘将回答您的任何进一步问题,但这完全没问题。
我们目前正在使用 DotNet.Highcharts API 将 Highcharts 整合到我们的网站中。但是,我们在使用 .SetOptions(GlobalOptions)
调用时遇到了一些 JavaScript 引用问题。
我们正在使用包装器 class 在控制器中构建我们的图表,然后使用简单的视图来呈现它。
在我们的控制器中:
Chart chart = new HighCharts("chart-id");
chart.SetOptions(new GlobalOptions { Global = new Global { UseUTC = false; } });
chart.SetPlotOptions()...
我们认为:
@model HighchartWrapper
@(Model.Chart)
图表在视图中呈现如下:
<script type="text/javascript">
Highcharts.setOptions({ global: { useUTC: false } });
var chart05;
$(document).ready(function() {
});
</script>
Chrome 正在筹集
"Uncaught ReferenceError: Highcharts is not defined"
.setOptions()
语句出错。如果没有这个(以及 .NET 中相应的 .SetOptions()
语句),图表将正确呈现。如果我离开此页面然后再次返回,图表将开始正确呈现。
我发现操纵 ToHtmlString() return 值以将 .setOptions
调用置于 .ready()
部分内可使图表正确显示。这是其他人不得不采用的方法吗?
你的怀疑是对的,你需要运行准备好文档中的相关代码如下。
$(document).ready(function() {
var chart = new Highcharts.Chart(options);
});
根据文档,一旦 dom 加载,所有示例都会执行,因此可以安全地假设这是最佳实践,并期望在 javascipt 库中,正在执行的代码将取决于.ready
函数。当然,通过源代码挖掘将回答您的任何进一步问题,但这完全没问题。