作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近遇到了一个问题,控制台错误如下:
Cannot read property 'getChartLayoutInterface' of undefined
我已经阅读了其他问题,从我所看到的情况来看,这是因为 Google Vizulation API 尚未加载,我的代码如下:
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.charts.load('current', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url: "assets/main/getFrontData.php",
dataType: "json",
async: false,
type: 'post',
}).responseText;
var data = new google.visualization.DataTable(jsonData);
var options = {
backgroundColor: 'none',
lineWidth: 4,
areaOpacity: .2,
legend: { position: 'none' },
colors: ['#007cb0'],
width: 550,
height: 300
}
// Create our data table out of JSON data loaded from server.
var boundingBox = chart.getChartLayoutInterface().getChartAreaBoundingBox();
$('#backgroundChart').css('background-position', boundingBox.left + "px " + boundingBox.top + "px").css('background-size', boundingBox.width + "px " + boundingBox.height + "px");
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
重点是在图表中放置相同大小的背景图像,任何有关抛出错误原因的帮助将不胜感激。
最佳答案
您的问题存在是因为“chart”在此行中引用之前未定义
var boundingBox = chart.getChartLayoutInterface().getChartAreaBoundingBox();
如果在引用该对象之前没有定义该对象的实例,您的环境将始终返回“未定义”。
也许重新定位“图表”实例会对您有好处。将此部分移至边界框实例化上方:
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);`
这将确保在引用图表进行 DOM 操作之前图表存在于您的 DOM 中。
关于javascript - JS - Google 图表 - 无法读取未定义的属性 'getChartLayoutInterface',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45361032/
我最近遇到了一个问题,控制台错误如下: Cannot read property 'getChartLayoutInterface' of undefined 我已经阅读了其他问题,从我所看到的情况来
我是一名优秀的程序员,十分优秀!