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

时间:2012-12-19 15:30:27

标签: javascript html5 canvas internet-explorer-8 kineticjs

我现在处于一种情况,我需要使用一些复杂的代码来使用Kinetic.js和一个canvas元素来处理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元素的方法,但如果已经创建了<canvas>元素,webshims就会播放,你可以使用方法。但是,强制Kinetic.js使用一个canvas元素会破坏它的一些功能(因为它会动态创建画布对象)。

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

1 个答案:

答案 0 :(得分:3)

简单的答案是“不。”

正如一位评论员提到的,Google Chrome Frame是一个好的替代品,它基本上将Chrome的渲染引擎安装为IE插件。

the excanvas project,起初可能听起来不错。这是尝试在VML(SVG)中实现canvas,以便IE 6-8可以使用canvas。

Excanvas非常糟糕。特别是对于任何动画,它都无法做一些画布图像处理的东西。而且近4年来一直没有更新。我强烈建议不要使用它,但它可供你考虑。