Возможно ли заставить Excanvas работать в IE 8? - PullRequest
17 голосов
/ 02 июня 2009

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

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

Ответы [ 7 ]

16 голосов
/ 02 июня 2009

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

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

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

14 голосов
/ 16 ноября 2009

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

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

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

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

10 голосов
/ 03 декабря 2009

Попробуйте добавить элемент 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 голосов
/ 03 июня 2009

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

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

1 голос
/ 20 июня 2009

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

0 голосов
/ 24 августа 2011

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

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

0 голосов
/ 20 июля 2010

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

...