Firefox 20对谷歌排行榜 - getValue奇怪

时间:2013-04-22 03:01:37

标签: javascript firefox firebug google-visualization

这是奇怪的......

下面的代码段在Chrome,IE8和Safari中完美运行。直到上周(我被用户告知......)它在Firefox中工作。

它不再适用于FF 20.0.1

var data = google.visualization.arrayToDataTable(briefData);
var chart = new google.visualization.BarChart(document.getElementById('masterstatus'));
chart.draw(data, options);
google.visualization.events.addListener(chart, 'select', function(e){
  if (chart.getSelection()[0].column && chart.getSelection()[0].row >=0){
    status = data.getValue(chart.getSelection()[0].row, 0);
    makeOwnerTable(status);
  }
}); 

发布更多代码并不是很重要 - 它主要是特定于上下文的内容 - 数百行有限(我认为)相关性。

底线是该页面显示两个谷歌图表,一个条形图和表格图表 - 根据用户点击条形图中的一个栏目刷新表格图表

...症状

makeOwnerTable函数在FF中接收空字符串。

在萤火虫中放置一个断点
makeOwnerTable(status);

行,确认var status =“”(Chrome开发工具中的相同断点给出status =“foo”)。输入

x = data.getValue(chart.getSelection()[0].row, 0)
在脚本暂停时,在Firebug提示下

给我x =“foo”。

现在通常当这种奇怪的事情继续下去时,我会去寻找尚未完成的野性ajax,但事实并非如此。

所以......总结一下...... 在FF 20.0.1(仅限FF 20.0.1)中,Google的getValue似乎不能在运行时工作,但可以在FB提示符下工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您的“状态”未声明为var。所以这是设置window.status。而这恰好在Firefox 20中不起作用(参见https://bugzilla.mozilla.org/show_bug.cgi?id=862540)。

我建议在该状态变量之前放置“var”,因此它是一个本地函数。