Jestem teraz w sytuacji, w której potrzebuję jakiegoś skomplikowanego kodu współpracującego z Kinetic.js i element canvas do pracy z IE8.Jakikolwiek sposób tworzenia Kinetic.js obsługuje IE8?
Oficjalnie, Kinetic.js nie planuje wspierania IE8.
Próbowałem za pomocą webshims lib ale Kinetic.js nie na poniższym kodzie:
Kinetic.Canvas = function(width, height) {
this.element = document.createElement('canvas');
this.context = this.element.getContext('2d'); //<-- Error here
// set dimensions
this.element.width = width;
this.element.height = height;
};
Błąd jest „Obiekt nie obsługuje właściwości lub metody«getContext»”. Ma to dla mnie sens, ponieważ nie spodziewałbym się, że płótno elementów stworzone przez dokument IE8 będzie implementować metody dla elementu canvas, ale jeśli element <canvas>
został już utworzony, odtwarzane byłyby webshims i można było użyć tych metod. Jednak zmuszenie Kinetic.js do użycia jednego elementu canvas spowoduje przerwanie niektórych jego funkcjonalności (ponieważ tworzy na bieżąco obiekty canvas).
Jakie są moje opcje, aby to osiągnąć?
Może być Chrome Frame może ci pomóc? http://www.google.com/chromeframe?quickenable=true – Flot2011
@ Flot2011 Jest taka możliwość, dzięki. – Alpha
Dla osób zainteresowanych tym - http://fabricjs.com/ może być warte rozważenia. Obsługuje IE8 (chociaż nie testowałem, jak dobrze to robi). Jeśli nie jesteś tak wybredny, czy to jest Canvas czy SVG, również zastanów się nad http://raphaeljs.com/ (wsparcie dla IE8 jest dobre dla podstawowych wektorów, ale śmieci dla tekstu i cokolwiek używającego obrazów png jako wypełnień) – user568458