谷歌Chrome&可视化google.setOnLoadCallback在ajax中失败

时间:2012-04-26 15:21:24

标签: javascript firefox google-chrome google-visualization

有关示例,请参阅http://jsfiddle.net/QJVUr/1/ - 在FF中正常工作但在Chrome中无效。

在另一边;删除google.setOnLoadCallback可在Chrome中使用,但不适用于Firefox:http://jsfiddle.net/RTQ5S/

关于妥协的任何想法?

我猜Chrome不会运行setOnLoadCallback,因为它已经加载了。

2 个答案:

答案 0 :(得分:0)

我建议两件事:

  • 理想情况下,您的AJAX调用只会获取数据,并会将此数据传递给回调函数,该函数将构建gviz DataTable并绘制图表。请参阅go down here
  • 的示例
  • google.setOnLoadCallback的目的是(according to these docs)等到谷歌库和html页面加载后才能开始发生。因此,根据您的小提琴,我会将window.addEvent('domready', function(){..});替换为google.setOnLoadCallback(function(){...});

希望这会有所帮助;我不确定他们是否有理由按照你的方式做事,这意味着上述选项不是你想要的,所以如果是这样的话,可以随意在你的问题中提供更多细节。

答案 1 :(得分:0)

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

请参阅http://jsfiddle.net/QJVUr/10/

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

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