javascript - 如何使用卡住库加载谷歌图表?

标签 javascript google-visualization jsapi

通常谷歌图表库加载如下,工作正常:

google.load('visualization', '1', {packages: ['corechart']});

var data = new google.visualization.arrayToDataTable(v);
var chart = new google.visualization.LineChart(elm[0]);
chart.draw(data, options);

现在我想切换到 corecharts 的卡住版本。文档声明这将按如下方式完成:

google.charts.load('41', {packages: ['corechart']});

@参见https://developers.google.com/chart/interactive/docs/library_loading_enhancements

问题: 使用此方法,我在 javascript 中收到 google.visualization 未定义的错误。

那么,我该如何加载卡住版本?

最佳答案

问题不在于加载,问题在于您访问 google.visualization 的那一刻。

文档规定您应该为创建图表的 google.charts.setOnLoadCallback 提供回调,但您没有这样做。

当您正常加载库时,脚本似乎将同步加载(通过 document.write ),但是当您加载卡住版本时,脚本将异步加载(通过 appendChild),这就是您的尝试失败的原因(当您尝试访问 google.visualization 时,脚本尚未完全加载)

关于javascript - 如何使用卡住库加载谷歌图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276134/

相关文章:

javascript - d3.js 跳过文本转换(3 个转换中的第 2 个)

java - JSP 的 Catch block 中的警报消息

javascript - 将数组重新映射到对象

javascript - Google 条形图最大条形宽度

javascript - Google 图表中的工具提示 : Timeline API

javascript - 谷歌图表 interpolateNulls 不工作

c++ - 带有作用域链的 JS_EvaluateScript

javascript - Nodejs 服务器 - 通过使循环迭代异步来提高性能

javascript - Google 图表 - 在柱形图上绘制趋势线

jquery - Google jsapi 无法在 Jquery 对话框中加载