我现在处于一种情况,我需要使用一些复杂的代码来处理Kinetic.js和canvas元素来处理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元素的方法,但是如果已经创建了<canvas>
元素,则可以使用webshims并且可以使用这些方法。但是,强制Kinetic.js使用单个画布元素会破坏其一些功能(因为它会动态创建画布对象)。
这是我的选择,以实现这一目标?
可能是Chrome Frame可以帮到你吗? http://www.google.com/chromeframe?quickenable=true – Flot2011
@ Flot2011这是一种可能性,谢谢。 – Alpha
对于对此感兴趣的人 - http://fabricjs.com/可能值得考虑。它支持IE8(虽然我没有测试它的效果)。如果您对Canvas或SVG没有那么挑剔,请考虑http://raphaeljs.com/(IE8支持对基本载体很有用,但对文本和任何使用png图像作为填充的垃圾) – user568458