javascript - 在 IE 中工作的 Canvas 动画

标签 javascript internet-explorer html animation canvas

这个canvas动画可以在IE6~8下运行吗?

此处的动画:http://jsfiddle.net/calebo/4qMMy/

我尝试过使用这两个插件,但仍然不起作用。

最佳答案

让 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/

相关文章:

jquery - 如何从 Bootstrap 导航栏中的折叠中排除元素

javascript - 如何在悬停时停止 jQuery 函数?

javascript - jQuery Accordion 一次只打开一个选项卡

javascript - 错误: Permission denied to access property "getComputedStyle"

javascript - 如何在 IE 的 Javascript 中获取当前日期?

javascript - 删除未使用的 CSS 链接和 JavaScript 脚本

javascript - 使两个位的计数相等

jquery函数.submit()无法在IE中发布数据

javascript - window.open() 的重定向在 IE 中不起作用

jquery - 如果我点击外部,如何隐藏下拉菜单?