通常情况下,谷歌图表库加载如下,工作正常:
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);
现在我想切换到核心图表的冻结版本。文档声明这将按如下方式完成:
google.charts.load('41', {packages: ['corechart']});
@see https://developers.google.com/chart/interactive/docs/library_loading_enhancements
问题:
使用此功能,我在javascript中收到google.visualization
未定义的错误。
那么,我如何加载冻结版本?
答案 0 :(得分:1)
问题不在于加载,问题是您访问google.visualization
时的问题。
该文档说明您应该为创建图表的google.charts.setOnLoadCallback
提供回调,但不是。
看起来脚本将在正常加载库时同步加载(通过document.write
),但是当您加载冻结版本时,脚本将异步加载(通过appendChild
),这是为什么尝试失败(当您尝试访问google.visualization
时
答案 1 :(得分:0)
您是否更改了脚本标记的来源?
<script type="text/javascript"
src="https://www.google.com/jsapi"></script>
到
<script type="text/javascript"
src="https://www.gstatic.com/charts/loader.js"></script>