我现在处于这样一种情况,需要使用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元素的方法,但是如果
<canvas>
元素已经创建,webshims将会起作用,您可以使用这些方法。然而,强制Kinetic.js使用一个单一的canvas元素将破坏它的某些功能(因为它会即时创建canvas对象)。那么,我应该怎么做才能解决这个问题呢?