jQPlot в IE (с использованием rePlot или reDraw)

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

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

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

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

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

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

3 ответа

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

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

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

  1. Убедитесь, что вы используете последнюю версию jQuery ( здесь).

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

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

    });

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

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

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

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

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

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

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

Другие вопросы по тегам