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.
Убедитесь, что вы используете последнюю версию jQuery ( здесь).
Убедитесь, что вы инициализируете свой jPlot с помощью функции.Ready (см. Здесь).
$(document).ready(function() {
$.jqplot(...init options...);
});
Обязательно включите jquery.jqplot.css ( здесь)
Отключите пользовательский параметр безопасности в IE8, который называется "Двоичное поведение и поведение сценариев" (см. Здесь)
Наконец, это может быть ошибка. Попробуйте опубликовать вопрос здесь.
Похоже, что на данный момент jqPlot довольно глючит для IE8/9. Вы можете попробовать поискать на их сайте, чтобы увидеть, есть ли у них какие-то решения.
Попробуйте использовать:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Это сработало для меня, хотя я уже использовал IE8