最佳答案
让 Canvas 在旧版 IE 中工作的唯一方法是使用某种 hack。
Canvas仅在IE9中实现,因此以前的版本对此一无所知。
有许多 JavaScript hack 可以将 Canvas 转换为 VML 对象以与 IE6-8 兼容。
这里有一个例子:http://code.google.com/p/explorercanvas/
SVG 也存在类似的 hack,对于旧版 IE 也可以将其转换为 VML。例如http://code.google.com/p/svg2vml/
但是,请注意,无论这些技巧多么巧妙,如果您对 Canvas 进行了巧妙的处理,则旧版 IE 可能会遇到一些相当基本的速度问题。这些 hack 是用 Javascript 编写的,需要在基本上是最慢的 Javascript 解释器上实时运行。如果你做任何类型的复杂图形,结果都不会漂亮。
说实话,我已经放弃了让 Canvas 在旧版 IE 中运行的尝试。
我在跨浏览器动态图形方面取得的最大成功是使用 Raphael library 。这会在大多数浏览器中生成 SVG,在较旧的 IE 中生成 VML,并且似乎运行良好 - 更重要的是,即使在较旧的 IE 中,也相当快。
它不是 Canvas ,但它是跨浏览器动态图形,最终用户并不真正关心你用什么来绘制图形,只要它看起来不错即可。
关于javascript - 在 IE 中工作的 Canvas 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469589/