【发布时间】:2011-11-20 03:21:52
【问题描述】:
【问题讨论】:
标签: javascript internet-explorer html animation canvas
【问题讨论】:
标签: javascript internet-explorer html animation 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/
但是请注意,无论这些 hack 多么聪明,如果您对画布进行任何巧妙的操作,您在使用旧版本的 IE 时可能会遇到一些相当基本的速度问题。这些 hack 是用 Javascript 编写的,需要在基本上是最慢的 Javascript 解释器上实时运行。如果你做任何复杂的图形,结果都不会很漂亮。
说实话,我已经放弃尝试让 Canvas 在旧版 IE 中工作。
我在跨浏览器动态图形方面取得的最大成功是使用Raphael library。这会在大多数浏览器中生成 SVG,在旧版 IE 中生成 VML,而且似乎运行良好 - 更重要的是,即使在旧版 IE 中也相当快。
它不是画布,而是跨浏览器的动态图形,最终用户并不真正关心您使用什么来绘制图形,只要它看起来不错。
【讨论】:
Explorer Canvas 一直对我很有效。你确定你下载的是最新的JS文件吗:
http://code.google.com/p/explorercanvas/downloads/list
并且还在文档顶部包含了这个标签:
<head>
<!--[if lt IE 9]><script src="excanvas.js"></script><![endif]-->
</head>
【讨论】: