这是奇怪的......
下面的代码段在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提示符下工作。
有什么想法吗?
答案 0 :(得分:3)
您的“状态”未声明为var。所以这是设置window.status
。而这恰好在Firefox 20中不起作用(参见https://bugzilla.mozilla.org/show_bug.cgi?id=862540)。
我建议在该状态变量之前放置“var”,因此它是一个本地函数。