正在為一個項目而煩惱
主要功能是實作因果分許圖,俗稱魚骨圖、魚刺圖
項目本身是基于JAVA Web的,在實作方式上考慮過:Flash、VML、SVG和使用JS控制圖檔組合
Flex接觸不多,AS3倒是了解一些,以前做過一個
組織機構圖的小功能。
由于因果圖的分支是不限制的,可能會很多,但Flash不能在運作時動态改變場景大小,是以就放棄了
VML很熟悉,04/05年的時候寫過圖表元件,隻有折線圖和柱圖,但靈活性相當厲害,當時IE還是絕對主流的
缺點很明星,現在用FF、OPERA的人不在少數,不可能隻面向IE了
使用JS控制圖檔組合的方式,是萬不得已的最後選擇,應該可以實作,但相當累,而且各浏覽器的相容性問題更要命
目前,首選SVG,标準化的技術,FF、OP等浏覽器原生支援,IE安裝個ADOBE的插件也還可以,是以将開發路線定在SVG方向
以下貼一些SVG的資料(轉自W3School):
SVG 意為可縮放矢量圖形(Scalable Vector Graphics)
SVG 檔案可通過以下标簽嵌入 HTML 文檔:<embed>、<object> 或者 <iframe>。
HTML 頁面中的 SVG
下面,你會看到三種把 SVG 檔案嵌入 HTML 頁面的不同方法。
使用 <embed> 标簽
<embed> 标簽被所有主流的浏覽器支援,并允許使用腳本。
注釋:當在 HTML 頁面中嵌入 SVG 時使用 <embed> 标簽是 Adobe SVG Viewer 推薦的方法!然而,如果需要建立合法的 XHTML,就不能使用 <embed>。任何 HTML 規範中都沒有 <embed> 标簽。
文法:
<embed src="rect.svg" width="300" height="100"
type="image/svg+xml"
pluginspage="http://www.adobe.com/svg/viewer/install/" />
注釋:pluginspage 屬性指向下載下傳插件的 URL。
使用 <object> 标簽
<object> 标簽是 HTML 4 的标準标簽,被所有較新的浏覽器支援。它的缺點是不允許使用腳本。
注釋:假如您安裝了最新版本的 Adobe SVG Viewer,那麼當使用 <object> 标簽時 SVG 檔案無法工作(至少不能在 IE 中工作)!
<object data="rect.svg" width="300" height="100"
codebase="http://www.adobe.com/svg/viewer/install/" />
注釋:codebase 屬性指向下載下傳插件的 URL。
使用 <iframe> 标簽
<iframe> 标簽可工作在大部分的浏覽器中。
<iframe src="rect.svg" width="300" height="100">
</iframe>
我期望....
如果僅僅通過引用 SVG 的命名空間,就能夠把 SVG 元素之間添加到 HTML 代碼中,那就太棒了,這像這樣:
<html xmlns:svg="http://www.w3.org/2000/svg">
<body>
<p>This is an HTML paragraph</p>
<svg:svg width="300" height="100" version="1.1" >
<svg:circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg:svg>
</body>
</html>
寵辱不驚,看庭前花開花落;去留無意,望天上雲卷雲舒