Можно ли использовать Excanvas для работы в IE 8?

17

Я работал над плагином jQuery под названием «BeautyTips», и он работал отлично. Но, поскольку я установил IE 8, этот плагин перестает работать, потому что ему нужен Excanvas, чтобы IE рисовал векторы, изображения и т. Д.

Я попытался загрузить новую версию Excanvas, но она не работает вообще ...

    
задан AndreMiranda 02.06.2009 в 20:35
источник

7 ответов

10

Попробуйте добавить элемент canvas в документ перед его инициализацией с помощью excanvas:

var foo = document.getElementById("targetElementID");
var canvas = document.createElement('canvas');
canvas.setAttribute("width", 620);
canvas.setAttribute("height", 310);
canvas.setAttribute("class", "mapping");
foo.appendChild(canvas);
canvas = G_vmlCanvasManager.initElement(canvas);
    
ответ дан Jeff Lamb 03.12.2009 в 20:02
источник
16

Новый режим «стандартов» IE8 отключает некоторые нестандартные функции. Среди них VML, который используется excanvas. Я просто установил режим IE7 «стандарты», поэтому он все еще работает.

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

Разочарование, но я не знаю никаких преимуществ, поднятых IE8.

    
ответ дан Javier 02.06.2009 в 20:56
источник
14

Да, у меня есть excanvas, работающий в режиме стандартов IE8 (только для тестирования, который нам нужен). В функции CanvasRenderingContext2D _ я прокомментировал строку:

//el.style.overflow = 'hidden';//fix IE8

Ширина и высота объекта-узла el составляла 0px на 0px, поэтому не задавая переполнение для скрытия, сделанный визуализированным элементом видимым.

Я немного изменил порядок создания canvasPieTimer , чтобы получить требуемый результат. Надеюсь, это будет полезно.

    
ответ дан Ronald B. 16.11.2009 в 09:08
источник
2

Вы уверены, что установлена ​​самая последняя версия excanvas.js? (выпущен в марте 2009 года, размещен на новой странице проекта Google Code)

Я использовал плагин Beauty Tips в IE8 и AFAIK, который работал в основном режиме IE8.

    
ответ дан fbuchinger 03.06.2009 в 00:05
источник
1

Последняя версия плагина bt исправляет эту проблему для меня.

    
ответ дан jeff Walters 20.06.2009 в 00:56
источник
0

Добавление тега canvas в виде строки html с jquery не работает с новой версией excanvas. Сначала вы должны использовать document.createElement ('canvas').

    
ответ дан Markus 20.07.2010 в 20:38
источник
0

, если у кого еще есть эта проблема: Советы по красоте версии 0.9.5 устраняет эту проблему. однако, если вам нужно использовать более раннюю версию (например, я делаю, так как новая версия ввела вопрос о том, что чаты закрыты преждевременно на моей странице) вы должны заменить строку 530 следующими строками:

var canvas = document.createElement('canvas');  
$(canvas).attr('width', (numb($text.btOuterWidth(true)) + opts.strokeWidth*2)).attr('height', (numb($text.outerHeight(true)) + opts.strokeWidth*2)).appendTo($box).css({position: 'absolute', top: $text.btPosition().top, left: $text.btPosition().left, zIndex: opts.boxzIndex});

надеюсь, что это поможет.

    
ответ дан Salmonela 24.08.2011 в 14:08
источник