jQPlot в IE (с использованием rePlot или reDraw) - PullRequest
3 голосов
/ 16 августа 2011

Я использую плагин jqplot для отображения индикатора на сайте. Это отлично работает в FF / Safari / Chrome, но для запуска в IE8 нужно использовать excanvas.

Проблема состоит в том, что датчики создаются динамически, и поэтому значения пропускаются, а затем требуется функция replot(), чтобы поместить «иглу» в положение на датчике. Однако, когда я использую функцию replot() или redraw() в IE, ось отображается, но фактический датчик отображается в совершенно неправильном месте (я вижу только самый верхний угол датчика внутри элемента).

Я читал, что заставляет IE8 эмулировать IE7, используя

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

может решить эту проблему, но это никак не повлияло на вывод.

Если есть что-то еще, что мне нужно включить, просто скажите.

Ответы [ 3 ]

2 голосов
/ 25 августа 2011

Я использую JQPLot quit для одной из моих программ, специально предназначенных для клиентов IE8 (корпоративная сеть), у меня были многочисленные аномалии, когда мне добавляли дополнительные плагины.Я бы начал с удаления любых плагинов JQPlot, которые вы можете сначала, поскольку это помогло мне сгладить некоторые странности, с которыми я столкнулся при работе с JQPLot.

Я также обнаружил, что Firebug Lite работает быстрее, чем инструменты разработчика для моего CSSПохоже, это может быть просто проблема CSS.Было бы полезно сначала проверить этот элемент, чтобы увидеть, какой CSS применяется / переопределяется.Возможно, вы сможете добавить условную версию IE CSS, http://www.quirksmode.org/css/condcom.html. Наконец, ваш DOCTYPE будет иметь большое значение в том, как IE отображает ваш контент: http://www.quirksmode.org/css/quirksmode.html.

Если все вышеперечисленное не работаетЯ преодолел пару проблем с JQPlot, просто загрузив несжатый JS и сломав нужную мне функцию.Если вы используете инструменты разработчика IE, просто дать общий бросок ('fail') на разрыв гораздо быстрее, чем пытаться справиться с системой JS точки останова IE Developer Tools.

2 голосов
/ 22 августа 2011
  1. Убедитесь, что вы используете последнюю версию jQuery (для здесь ).

  2. Убедитесь, что вы инициализируетеВаш jPlot, используя функцию .Ready (для здесь ).$(document).ready(function() {

    $.jqplot(...init options...);

    });

  3. Обязательно включите jquery.jqplot.css (для здесь )

  4. Отключите пользовательский параметр безопасности в IE8, который называется «Двоичные и скриптовые поведения» (для здесь )

Наконец, это может быть ошибка.Попробуйте опубликовать проблему здесь .

Похоже, что jqPlot довольно глючит в данный момент для IE8 / 9.Вы можете поискать по их сайту , чтобы узнать, есть ли у них какие-то решения.

1 голос
/ 06 июня 2012

попробуйте использовать:

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

Это сработало для меня, хотя я уже использовал IE8

...