【发布时间】:2012-12-07 00:00:42
【问题描述】:
我现在的情况是,我需要一些复杂的代码来处理 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 使用单个画布元素会破坏它的一些功能(因为它会动态创建画布对象)。
为了实现这一目标,我有哪些选择?
【问题讨论】:
-
Chrome Frame 可以帮到你吗? google.com/chromeframe?quickenable=true
-
@Flot2011 有可能,谢谢。
-
对于对此感兴趣的人 - fabricjs.com 可能值得考虑。它支持 IE8(虽然我没有测试过它的性能如何)。如果您对 Canvas 还是 SVG 不太挑剔,也可以考虑 raphaeljs.com(IE8 支持对基本矢量很有用,但对于文本和使用 png 图像作为填充的任何东西来说都是垃圾)
标签: javascript html canvas internet-explorer-8 kineticjs