【问题标题】:canvas animation to work in IE在 IE 中工作的画布动画
【发布时间】:2011-11-20 03:21:52
【问题描述】:

这个canvas动画可以在IE6~8下工作吗?

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

这两个插件我都试过了,还是不行。

【问题讨论】:

标签: javascript internet-explorer html animation canvas


【解决方案1】:

让画布在旧版本的 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 中也相当快。

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

【讨论】:

  • 我已经尝试实现 explorercanvas,自述文件看起来很简单但是它仍然无法工作,不确定它是否与我的 canvas js 有任何关系。
  • @caleb -- 添加最后一点,推荐 Raphael。不是 Canvas,但如果您想要跨浏览器兼容性,它是解决此类问题的最佳解决方案。
【解决方案2】:

Explorer Canvas 一直对我很有效。你确定你下载的是最新的JS文件吗:

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

并且还在文档顶部包含了这个标签:

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

【讨论】:

    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多