任何使Kinetic.js支持IE8的方法?

Alp*_*pha 5 javascript html5 canvas internet-explorer-8 kineticjs

我现在处于一种情况,我需要使用一些复杂的代码来处理Kinetic.js和一个用于IE8的canvas元素.

据官方统计,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;
};
Run Code Online (Sandbox Code Playgroud)

错误是"对象不支持属性或方法'getContext'".这对我来说很有意义,因为我不希望IE8文档创建的元素画布实现canvas元素的方法,但如果<canvas>元素已经创建,webshims就会播放,你可以使用这些方法.但是,强制Kinetic.js使用一个canvas元素会破坏它的一些功能(因为它可以动态创建画布对象).

为了达到这个目的,我有哪些选择?

Sim*_*ris 3

简单回答是不。”

正如一位评论者提到的,Google Chrome Frame是一个不错的替代品,它本质上需要将 Chrome 的渲染引擎安装为 IE 插件。

一个 excanvas 项目,乍一听可能不错。这是一次在 VML (SVG) 中实现画布的尝试,以便 IE 6-8 可以使用画布。

Excanvas 太糟糕了。特别是对于任何动画,它都无法执行一些画布图像操作。而且已经快4年没有更新了。我强烈建议不要使用它,但它供您考虑。