Highcharts - «Стиль нулевой или не объект» - PullRequest
3 голосов
/ 29 марта 2011

Итак, у меня возникли некоторые проблемы с использованием 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();
};

onSuccess Функция запускается после успешного вызова веб-службы для предоставления данных диаграммы, которые представляют собой Json, следующим образом:

{"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}
}

Все отлично работает в других браузерах. Какие-нибудь мысли?

Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2012

Я возился с высокими графиками и помню, что видел это сообщение об ошибке, но тестировал на Chrome.Мне было очень полезно просто жестко закодировать мои данные json, которые будут поступать в верхние чарты, просто чтобы убедиться, что это не те данные, которые возвращаются из сервиса.Я также попытался бы возиться с тем, что не нужно вызывать команду destroy и просто найти способ перерисовать график.Я знаю, что предлагается уничтожить график, но иногда это было проблематично для меня.Может быть, просто повторно использовать тот же экземпляр диаграммы, chartcontainer1700, и просто изменить передаваемые данные и перерисовать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...