这是一个奇怪的...
下面的代码片段在 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);
}
});
发布更多代码没有多大意义 - 它主要是上下文特定的东西 - 数百行有限的(我认为)相关性。
最重要的是该页面显示了两个 google 图表,一个条形图和一个表格图表 - 表格图表根据用户单击条形图中的条形进行刷新
症状...
makeOwnerTable 函数在 FF 中接收到一个空字符串。在 firebug 中放置一个断点
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 提示符下起作用。
有什么想法吗?
最佳答案
您的“状态”未声明为 var。这就是设置 window.status
。而这恰好在 Firefox 20 中不起作用(请参阅 https://bugzilla.mozilla.org/show_bug.cgi?id=862540)。
我建议在该状态变量之前放置“var”,这样它就是一个局部函数。
关于javascript - Firefox 20 与 Google 图表 - getValue 奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138781/