我尝试使用 Google Charts(loader.js) 示例在我的应用程序中设计饼图,但在我的应用程序中已经有 protype.js,它阻止显示饼图。如果我评论了 protype.js 文件,它就会按预期工作。 就我而言,prototype.js 和 loader.js 都是必需的,并且 protype.js 在我的应用程序中紧密耦合。请在下面找到代码并提供您的输入。
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Task', 'Hours per Day'],
['Work', 11],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 7]
]);
var options = {
title: 'My Daily Activities',
is3D: true,
};
var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="piechart_3d" style="width: 900px; height: 500px;"></div>
</body>
</html>
您很可能遇到了
Array.from()
polyfill 冲突。如果您使用的是 1.7.3 版本,您应该能够删除/注释 PrototypeJS 覆盖 Array.from() 的行,并将副作用降至零。
这里有一些GitHub问题,你可以在评论中看到一些解决方案。