我在网上发现了一个向量库,甚至可以在IE6上使用!
http://raphaeljs.com/index.html
这太神奇了。
现在我的问题是,它比即将发布的HTML5 <canvas>更好吗?原因只是因为可能需要几年时间,微软才会实现不需要插件就能运行的<canvas>。
而且,要等到所有互联网上的IE用户都摆脱他们的旧浏览器,我们才能有充分的理由使用HTML5 <canvas>。
我非常支持遵循标准,但是由于微软浏览器的开发缓慢,这个标准需要太长时间才能得到普及。
你怎么看?
我在网上发现了一个向量库,甚至可以在IE6上使用!
http://raphaeljs.com/index.html
这太神奇了。
现在我的问题是,它比即将发布的HTML5 <canvas>更好吗?原因只是因为可能需要几年时间,微软才会实现不需要插件就能运行的<canvas>。
而且,要等到所有互联网上的IE用户都摆脱他们的旧浏览器,我们才能有充分的理由使用HTML5 <canvas>。
我非常支持遵循标准,但是由于微软浏览器的开发缓慢,这个标准需要太长时间才能得到普及。
你怎么看?
Raphael是一个使用SVG制作的矢量图形库,而HTML5 canvas是位图形式的。
如果您想进行矢量图形设计,我认为选择Raphael比仅使用canvas可能更好。正如您所说,canvas无法兼容IE,而且在它被本地支持之前可能需要一段时间。如果Raphael能够满足您的要求,那么没有特别的理由不使用它。
请注意还有其他的库:Excanvas使用VML(据我所知)模拟IE中的canvas,还有一些使用Silverlight和Flash做同样事情的库,但我忘记了它们的名字。
还有Dojo,它有一个组件可以抽象出易于使用的界面,用于canvas的使用,同时也支持IE。
即使所有浏览器都具有本地canvas功能,这些库也不会过时,因为这些库通常会抽象出一些canvas的复杂性,使其更易于使用。
<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>
谷歌的SVGWeb (http://code.google.com/p/svgweb/) 可以帮助你。它可以让IE支持标准SVG,其他主流浏览器已经支持了这个标准。换句话说,正如谷歌所说,“使用该库和本地SVG支持,您可以立即针对现有网络基础设施的大约95%进行目标定位。”
如果您需要向图形对象添加事件处理程序:您需要使用SVG。否则使用Canvas。
如果不需要事件,性能很重要:如果是,则使用Canvas 5。
请注意,IE 9支持Canvas并提供比其他浏览器更多的HTML 5支持!