Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

Попробуйте добавить элемент 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);

Ответ 2

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

если у кого еще есть эта проблема: Советы по красоте версии 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});

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