画布动画在IE中工作

时间:2011-09-19 10:36:09

标签: javascript internet-explorer html5 animation canvas

是否可以让这个画布动画在IE6~8中运行?

这里的动画:http://jsfiddle.net/calebo/4qMMy/

我尝试过使用这两个插件,但它仍无效。

2 个答案:

答案 0 :(得分:1)

让画布在旧版IE中工作的唯一方法是使用某种黑客。

Canvas仅在IE9中实现,因此以前的版本对此一无所知。

有许多javascript hacks可用于将Canvas转换为VML对象以与IE6-8兼容。

这里有一个例子:http://code.google.com/p/explorercanvas/

SVG存在类似的黑客攻击,也可以转换为旧版IE的VML。例如http://code.google.com/p/svg2vml/

但是请注意,无论这些黑客多么聪明,如果你用帆布做任何聪明的事情,你可能会对旧版本的IE有一些相当基本的速度问题。这些hacks是用Javascript编写的,需要实时运行基本上最慢的Javascript解释器。如果你做任何类型的复杂图形,结果都不会很好。

说实话,我已经放弃尝试让Canvas在旧的IE中工作。

我在跨浏览器动态图形方面取得的最大成功是使用Raphael library。这在大多数浏览器中产生SVG,在旧IE中产生VML,并且似乎运行良好 - 更重要的是,即使在较旧的IE中也相当快。

它不是画布,但它是跨浏览器的动态图形,并且在一天结束时,最终用户并不真正关心您使用什么来绘制图形,只要它看起来不错。

答案 1 :(得分:1)

资源管理器Canvas一直很适合我。您确定已下载最新的JS文件:

http://code.google.com/p/explorercanvas/downloads/list

并在文档顶部包含此标记:

<head>
<!--[if lt IE 9]><script src="excanvas.js"></script><![endif]-->
</head>