2012-12-19 5 views
5

저는 지금 Kinetic.js로 작업하는 복잡한 코드와 IE8에서 작동하는 캔버스 요소가 필요한 상황에 있습니다.Kinetic.js를 만드는 방법은 IE8을 지원합니까?

공식적으로 Kinetic.js는 IE8을 지원할 계획이 없습니다.

나는 webshims lib를 사용하여 시도했지만 Kinetic.js 다음 코드에 실패

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; 
}; 

오류는 "개체가 속성 또는 메서드 '는 getContext'를 지원하지 않습니다"입니다. 캔버스 요소에 대한 메서드를 구현하기 위해 IE8 문서로 만든 요소 캔버스를 기대하지 않기 때문에 나에게 의미가 있지만, <canvas> 요소가 이미 만들어진 경우 webshims가 재생되어이 메서드를 사용할 수 있습니다. 그러나 Kinetic.js에 하나의 캔버스 요소를 사용하도록 강요하면 일부 기능이 중단됩니다 (즉석에서 캔버스 객체를 생성하므로).

이 작업을 수행하기위한 내 옵션은 무엇입니까?

+0

크롬 프레임이 도움이 될 수 있습니까? http://www.google.com/chromeframe?quickenable=true – Flot2011

+0

@ Flot2011 가능성이 있습니다. 감사합니다. – Alpha

+1

http://fabricjs.com/에 관심이있는 사람들에게 고려해 볼 가치가 있습니다. 그것은 IE8을 지원합니다. (얼마나 잘 테스트했는지는 모르지만). 캔버스인지 SVG인지에 대해별로 신경 쓰지 않는다면 http://raphaeljs.com/을 고려해보십시오 (기본 벡터에는 IE8 지원이 적합하지만 텍스트는 쓰레기이며 PNG 이미지는 채우기로 사용하는 모든 것) – user568458

답변

3

간단한 대답은 "아니오"입니다.

한 의견에서 언급했듯이 Google Chrome Frame은 OK 대체품이며 Chrome의 렌더링 엔진을 기본적으로 IE 플러그인으로 설치해야합니다.

the excanvas project이 있습니다. 처음에는 좋을지도 모릅니다. 이것은 IE 6-8이 캔버스를 사용할 수 있도록 VML (SVG)에 캔버스를 구현하려는 시도였습니다.

Excanvas가 끔찍합니다. 특히 모든 애니메이션을 사용하면 일부 캔버스 이미지 조작 작업을 수행 할 수 없습니다. 그리고 거의 4 년 만에 업데이트되지 않았습니다. 나는 이것을 사용하는 것에 대해 강력히 권하지만, 당신의 고려를 위해 거기에있다.

+0

감사합니다. 귀하의 질문에 다시 돌아 오기 전에 WebShims, FlashCanvas, ExCanvas 및 다른 혼합 옵션을 내 측면에서 시도했습니다 (심지어 Kinetic.js 패치). 나를 위해 일한 것은 아무것도 없으므로 나는 패배를 인정할 것입니다. – Alpha

+0

슬프지만 진실입니다. KineticJS가 제공하는 것처럼 Canvas가 제공해야하는 모든 기능을 실제로 활용하려면 IE8을 지원하지 않는 것이 유일한 현실적인 옵션입니다. –

관련 문제