所以,我在使用Highcharts时遇到了一些问题。它最近出现了一个只在Internet Explorer 8中启动的错误。失败的行来自highcharts.src.js文件行270:
function css (el, styles) {
if (isIE) {
if (styles && styles.opacity !== UNDEFINED) {
styles.filter = 'alpha(opacity='+ (styles.opacity * 100) +')';
}
}
extend(el.style, styles); // This line fails...
}
创建图表的代码如下:
$(document).ready(function() {
chartcontainer1700 = new Highcharts.Chart({
chart: {
renderTo: 'container1700'
},
title: {
text: 'Loading chart...'
}
});
});
function onSuccess(options){
if (options.hasOwnProperty('restErrorMessage') && options.restErrorMessage != null) {
alert(options.restErrorMessage);
}
chartcontainer1700.destroy();
chartcontainer1700 = new Highcharts.Chart(options);
chartcontainer1700.redraw();
};
在webservice调用成功提供Json图表数据后触发 onSuccess
函数,如下所示:
{"chart": {
"renderTo":"container0438",
"zoomType":"xy"},
"credits": {
"enabled": false,
"position": {
"align":"right",
"x":-10,
"verticalAlign":"bottom",
"y":-5
},
"href":"http:\/\/www.website.com",
"text":"Chart"
},
"legend": {
"borderRadius":0,
"borderWidth":0,
"enabled":true
},
"series":[{"data":[67.5,67.75],"name":"ME","type":"spline","yAxis":0}],
"title":{"align":"center","text":""},
"xAxis":[{
"categories":["Mar 22, 2011 - Mar 26, 2011","Mar 27, 2011 - Mar 29, 2011"],
"maxPadding":5,"minPadding":1
}],
"yAxis":[{
"labels":{
"style":{"color":"Gray"}
},
"opposite":false,
"title":{"text":"ME %","style":{"color":"Gray"}},
"type":"spline"}],
"exporting":{"enabled":true}
}
其他浏览器中的一切都很完美。任何一个人?
谢谢!
答案 0 :(得分:0)
我已经搞乱了高图,并且回想起看到这条错误消息但是正在测试Chrome。我发现只是硬编码我的json数据非常有帮助,这些数据将被送入highcharts,以确保它不是从服务返回的数据。我也会尝试搞乱,不必调用destroy,只是想找到重绘图表的方法。我知道有人建议破坏图表,但有时候这对我来说是个问题。也许只是重用图表的相同实例,chartcontainer1700,只需更改传入的数据,然后重新绘制它。