You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML+JS加载Google Visualization折线图报google未定义报错求助

报错根因

Uncaught ReferenceError: google is not defined由两个核心问题触发:

  • 代码中引用的https://www.google.com/jsapi是已废弃的旧版Google Charts加载入口,该入口已停止官方维护,长期存在脚本拉取失败、执行中断的兼容性问题,会导致全局google对象无法正常初始化。
  • 本地运行时若网络环境无法正常连通Google Charts的静态资源域名,脚本会直接加载失败,同样会触发该未定义报错。
修复方案
  • 替换失效的旧版加载脚本:移除页面中原有的旧jsapi引用,替换为当前兼容的新版加载地址,同时适配新版的API调用逻辑,从根源上解决加载失败问题。
  • 调整脚本执行顺序:确保Google Charts的加载脚本位于自定义业务脚本之前,避免业务代码先于图表库执行,出现对象未定义的时序问题。
  • 排查网络适配问题:确认本地运行环境可以正常拉取图表库的静态资源,排除脚本被拦截、请求超时导致加载中断的问题。

修复后可直接运行的代码

<html>
<head>
<script type="text/javascript" src="gline.js"></script>
<!-- 替换旧的失效jsapi脚本地址 -->
<script src="https://www.gstatic.com/charts/loader.js" type="text/javascript"></script>
<script type="text/javascript">
  // 适配新版图表库的加载逻辑
  google.charts.load('current', {packages:["corechart"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable( gline );
    var options = {
      title: 'Sakai Developer Email Participation by Organization',
      chartArea: {left:'10%',top:'10%', width: '65%', height: '65%'}
    };
    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="chart_div" style="width: 1300px; height: 600px;"></div>
</body>
</html>

排查提示:如果替换代码后仍出现对象未定义报错,可打开浏览器控制台的网络请求面板,确认loader.js脚本的返回状态是否为200,定位是否为本地网络拦截静态资源导致的加载失败。


内容的提问来源于stack exchange,提问作者Navneet Kaur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.28 17:54:08