5

我现在处于一种情况,我需要一些复杂的代码与 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 使用单个画布元素会破坏它的一些功能(因为它会动态创建画布对象)。

为了实现这一目标,我有哪些选择?

4

1 回答 1

3

简单回答是不。”

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

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

帆布是可怕的。特别是对于任何动画,它不能做一些画布图像处理的东西。而且已经快4年没有更新了。我强烈建议不要使用它,但它供您考虑。

于 2012-12-19T17:17:53.877 回答