Графика Рафаэля не отображается в IE8 - PullRequest
1 голос
/ 21 декабря 2010

Сейчас у меня проблемы с отображением простой графики Raphael на панели extJS.

afterRender: function(){
        var size = Math.min(this.getHeight(), this.getWidth());
        this.innerEl = this.el.createChild({
            cls : 'ext-ux-clock-inner'
        });
        this.canvas = Raphael(this.innerEl.dom, size, size);
        var circle = this.canvas.text(50, 40, 'test').attr( {
              font : '14px Helvetica, Arial',
              stroke : "none",
              fill : '#fff'
            });
        TimelineWindowPanel.superclass.afterRender.apply(this,arguments);
    }

Текст хорошо отображается в Firefox и Chrome, однако я не могу отобразить этот текст в IE8. Я попытался использовать несжатую версию вместе с уменьшенной версией, но безуспешно. Кто-нибудь знает, почему Raphael не работает с IE8 с extJS?

Edit: Если я переключаю IE8 в режим совместимости, он показывает изображение Raphael

1 Ответ

1 голос
/ 28 декабря 2010

Я нашел обходной путь для IE8.Похоже, что IE8 пытается нарисовать на холсте до того, как на экране появится окно ExtJS.Я предполагаю, что происходит то, что IE8 пытается нарисовать на холсте и терпит неудачу и не пытается перерисовать.Таким образом, изображение Рафаэля никогда не появляется на холсте.Я смог решить эту проблему, отложив отрисовку на 0,3 секунды, используя функцию JavaScript setInterval()

...