谷歌可视化(PieChart/LineChart)Jquery Ajax Firefox问题

GUI*_*_33 3 firefox jquery google-visualization

我遇到了一个firefox的bug,并且已经搜遍过,似乎没有找到我遇到过的问题的答案.

我的程序在Chrome和IE中运行良好,但iframe图表在Firefox中无效.

我正在使用一个处理程序,然后使用jquery.ajax来获取数据并运行脚本.

jQuery.ajax({
                    url: jQuery(this).attr("href"),
                    data: data,
                    dataType: 'script'
});
Run Code Online (Sandbox Code Playgroud)

data =饼图的所有信息以及表的所有信息.该表很好,但饼图iframe为空.如果我按下退格键,则会显示饼图.这几乎就像是在Firefox中过度拍摄.

除了我自己的数据之外,数据看起来像这样.这是从处理程序传递到ajax调用

    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Task');
    data.addColumn('number', 'Hours per Day');
    data.addRows(5);
    data.setValue(0, 0, 'Work');
    data.setValue(0, 1, 11);
    data.setValue(1, 0, 'Eat');
    data.setValue(1, 1, 2);
    data.setValue(2, 0, 'Commute');
    data.setValue(2, 1, 2);
    data.setValue(3, 0, 'Watch TV');
    data.setValue(3, 1, 2);
    data.setValue(4, 0, 'Sleep');
    data.setValue(4, 1, 7);

    var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
    chart.draw(data, {width: 450, height: 300, title: 'My Daily Activities'});
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过类似的问题吗?我知道数据传递正确并且收到了所有内容,但看起来Firefox似乎并不适合使用iframe.

如果有人有任何建议或想法,那将是伟大的

谢谢

mak*_*oid 6

我在FFox上遇到了同样的问题.

我解决了在函数中包装所有东西并用一个小的setTimeout调用它

function drawChart() {
  //...
}

setTimeout(drawChart, 200);
Run Code Online (Sandbox Code Playgroud)