2008-08-28 135 views
16

我正在考慮開發一個類似於stackoverflow的網站,但答案也可能包括圖紙(在本例中爲圖表)。我想有答案形式的區域,他們可以讓這個原理,無需特殊的插件等腳本編寫SVG

  1. 難道我們到SVG已經或應該很快就會有臨界質量(1-2歲)的這種點設計一個腳本運行SVG作爲主要功能的網站是合理的(即,需要Firefox還是其他符合SVG/AJAX的瀏覽器)?
  2. 什麼是學習跨平臺SVG腳本(可能在JavaScript中)的一些很好的資源?

- 亞當戴維斯

回答

7

不幸的是,我沒有答案,但我有三個指向你可以看看的項目。

第一個是Dan Ingalls的Lively Kernel(是的, Dan Ingalls)在Sun Labs。它是在SVG之上的JavaScript中的Smalltalk虛擬世界的實現。更確切地說,它是Squeak Smalltalk的Morphic GUI框架在JavaScript中使用SVG和Squeak Smalltalk的一部分(在JavaScript中)的實現。或者,如果您不是Smalltalker,並且上述內容對您沒有任何意義:它是一種操作系統,使用JavaScript解釋器作爲CPU,SVG作爲圖形卡和瀏覽器作爲JavaScript編寫電腦。

當談到JavaScript和SVG時,這個問題已經非常嚴重了。而且它只有完全在Safari 3中運行,部分在Firefox 3中運行,儘管還有一個用於Internet Explorer的實驗性端口。

第二個項目是John Resig的Processing.js處理可視化語言端口到JavaScript。由於您提到的問題,它使用<canvas>元素而不是SVG。然而,這一個,只適用於Firefox 3.

第三個是由無用醬菜Real-Time 3D in JavaScript。它只使用 JavaScript,DOM和CSS和 SVG或<canvas>或Flash或其他。 它幾乎適用於任何瀏覽器,包括Internet Explorer 7及更高版本。做2D應該比這更容易。

在這三個項目之間,你應該能夠找到一些靈感,並找到一些試圖用JavaScript和SVG或JavaScript和圖形推動信封的人,並且可以告訴你什麼可行,什麼不可行。

結論:做跨瀏覽器的SVG或跨瀏覽器<canvas>是幾乎是不可能的,但與瘋狂,跨瀏覽器的圖形沒有 SVG或<canvas>一點是可能的。

+0

http://code.google.com/p/explorercanvas/是一個修復它允許上IE畫布。我已經使用MS IE條件標籤是一種魅力。 – 2009-07-28 17:23:36

2

1 /可能永遠不會 - 如果IE想添加它,那麼我將不得不雖然它會現在已經這樣做了;但是有一些解決方法使用SilverLightGecko來提供渲染。另一方面,有可用的跨瀏覽器圖形API。我使用XULRunner和SVG完成了大量的前端工作,但是網絡上沒有任何東西需要IE瀏覽器。

2我最常提到的兩個是SVG pages on mozilla.orgSVG DOM reference。我所有的SVG鏈接都在這裏delicious

有一個現有的編輯http://www.bpel4chor.org/editor/;如果所有你想要的是所有弧都在網格上的原理圖,你可以使用不帶SVG的div和圖像做得很好。或者你可以去lo-fi route

2

由於@jwmittag提到<canvas>是一個選項。

它適用於Saffari和Firefox 3,Opera 9和people are developing support for IE

您可以輕鬆捕獲與當前工具和屬性關聯的鼠標點擊。 在每個頁面顯示上重新繪製畫布。

我剛剛完成了一個項目,使用了<canvas>,它是一個簡單而強大的API,尤其是如果你曾經做過OpenGL或Cairo的工作。

好運氣,聽起來像一個很酷的項目。

8

Raphael看起來像是一個有趣的跨瀏覽器矢量圖形的問題。