0

有关示例,请参见http://jsfiddle.net/QJVUr/1/ - 在 FF 中可以正常工作,但在 Chrome 中却不行。

在对面;删除 google.setOnLoadCallback 适用于 Chrome 但不适用于 Firefox:http: //jsfiddle.net/RTQ5S/

关于妥协的任何想法?

我猜 Chrome 没有运行 setOnLoadCallback 因为它已经加载了。

4

2 回答 2

0

而不是使用 setOnCallback 在库加载中设置回调。

http://jsfiddle.net/QJVUr/10/

google.load('visualization', 1, {packages:['corechart'], callback: drawChart});

根据 Google 开发文档,如果库已经加载,则不会再次加载,而是立即调用回调。

于 2014-09-04T10:23:15.993 回答
0

我建议两件事:

  • 理想情况下,您的 AJAX 调用只会获取数据,并将此数据传递给回调函数,该函数将构建 gviz DataTable 并绘制图表。请参阅此处的示例。
  • google.setOnLoadCallback 的目的是(根据这些文档)等到加载谷歌库和 html 页面,以便事情开始发生。所以根据你的小提琴,我会window.addEvent('domready', function(){..});google.setOnLoadCallback(function(){...});.

希望这会有所帮助;我不确定他们以您的方式做事是否有原因,这意味着上述选项不是您想要的,所以如果是这种情况,请随时在您的问题中提供更多细节。

于 2012-05-06T04:58:12.383 回答