我正在考虑开发一个类似于stackoverflow的网站,但是答案也可能包括图纸(在这种情况下为示意图)。我希望在答案表中有一个区域,他们可以在不使用特殊插件等的情况下制作此原理图。
-亚当·戴维斯(Adam Davis)
不幸的是,我没有答案,但是我确实有三个指向您可以查看的项目的指针。
首先是活泼内核丹英格尔斯(是的, 在 Sun公司实验室丹英格尔斯)。它是基于SVG的JavaScript中的Smalltalk虚拟世界的实现。更准确地说,它是JavaScript中Squeak Smalltalk的Morphic GUI框架的实现,该框架使用SVG和JavaScript中Squeak Smalltalk的(部分)端口。
或者,如果您不是Smalltalker,并且上面的内容对您没有意义:它是一个操作系统,用JavaScript编写,JavaScript解释器作为CPU,SVG作为图形卡,浏览器作为计算机。
当涉及到JavaScript和SVG时,这几乎是极端的。尽管也有Internet Explorer的试验性端口,但它仅在Safari 3中 完全 可用,部分在Firefox 3中 完全 可用。
第二个项目是John Resig 将Processing可视化语言的Processing.js端口移植到JavaScript。<canvas>正是由于您提到的问题,它使用元素而不是SVG。但是,此版本仅在Firefox 3中有效。
<canvas>
第三个是Useless Pickles的JavaScript中的Real-Time 3D。它 仅 使用JavaScript,DOM和CSS, 不使用 SVG <canvas>,Flash或其他任何内容。 而且 它可移植到几乎所有浏览器,包括Internet Explorer 7及更高版本。做二维应该比这更容易。
在这三个项目之间,您应该能够找到一些灵感,还可以找到一些尝试使用JavaScript和SVG或JavaScript和Graphics突破极限的人,并且可以告诉您哪些有效,哪些无效。
结论:跨浏览器SVG或跨浏览器<canvas>几乎是不可能的,但是由于有点疯狂, 没有 SVG的跨浏览器图形还是<canvas>有可能的。