谷歌图表“不是功能”在除 chrome 之外的所有浏览器中

Posted

技术标签:

【中文标题】谷歌图表“不是功能”在除 chrome 之外的所有浏览器中【英文标题】:google charts "is not a function" in every browser except chrome 【发布时间】:2015-05-18 19:26:32 【问题描述】:

Firefox、safari、ios 上的 safari、IE ……它们的行为方式都相同。

不管我做什么,这个错误只能在chrome浏览器上避免。

请注意,这不是我使用的日期格式问题

var rows = [
    [new Date(Date.UTC(x,y,z,...)), ...],
    ...
  ];
var table = new google.visualization.DataTable();
table.addColumn('datetime', 'Time');
table.addColumn(...);
...
table.addRows(rows);

我已经完成了

<script type="text/javascript" src="https://www.google.com/jsapi?autoload='modules':['name':'visualization','version':'1.1','packages':['corechart']]"></script>

根据https://***.com/a/29777575/3338098

我已经完成了

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
  var googleChartLoaded = false;
  google.load('visualization', '1', packages: ['corechart'], callback: function() 
    googleChartLoaded = true;
  );
</script>

甚至

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script>
  google.load('visualization', '1', packages: ['corechart']);
  google.setOnLoadCallback(function() 
    googleChartLoaded = true;
  );
</script>

我已经按照https://nealpoole.com/blog/2010/07/jquery-getjson-firefox-and-google-visualization-madness/尝试过

window.setTimeout(function() 
  try chart.draw(table, chartOptions);catch(err) 
    console.err(err);
  
, 1000);

我们的问题与https://developer.appcelerator.com/question/148481/how-i-make-line-graph-on-android-device 相同

我该如何诊断这个问题... 我认为谷歌产品应该是跨浏览器兼容的......

【问题讨论】:

由于显而易见的原因,我最终没有使用 Google Charts API,我现在使用flotcharts.org 没有任何抱怨。 我不确定这个错误的原因。但这是由于“新日期()”。调用 new Date() 时出现此错误,但没有找到解决方案。 【参考方案1】:

我对这个错误消息有同样的问题。 在这里,问题在于传递给 draw 函数的 options 对象。

就我而言,我有两个选择:vAxis.tickshAxis.viewWindow 文档说这些选项仅适用于连续轴,而我的轴是连续的。然而这些都是问题所在。我把它们拿出来,它工作得很好。

【讨论】:

【参考方案2】:

当 xAxis 上的数据错误时,我遇到了同样的问题:

2015-12-22T01:10:02,1 2015-12-22:01:15:01,1

由于我的错误而保存值的脚本使用的是 : 而不是 T 在日期字符串上。

将值固定为 YYYYMMDDTHH:MM:SS 解决了我的问题

【讨论】:

【参考方案3】:

我不知道您是否解决了这个问题或使用了其他东西,但我遇到了同样的问题,并通过使用这种适用于谷歌图表的“新日期()”格式解决了这个问题:

new Date(Year, Month, Day, Hours, Minutes, Seconds, Milliseconds)

尝试以这种方式声明您的日期,看看是否能解决您的错误。

【讨论】:

以上是关于谷歌图表“不是功能”在除 chrome 之外的所有浏览器中的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 视频播放器在除 Safari 之外的所有浏览器中都没有声音

无法在除我之外的其他浏览器/机器上运行我的 chrome 扩展:未打包的发行版中有些不匹配?

UIRefreshControl 将在除 iPhone 6+ 之外的所有手机上关闭

在除特定页面 ID 之外的所有页面上设置 CSS 样式

使用 T-SQL 中的 OVER 子句在除一列之外的所有列上选择 DISTINCT

如何使用 .htaccess 在除一个目录 /images 之外的所有 URL 上强制使用 HTTPS?